Módulo módulo básico

Módulo criptográfico

Módulo de algoritmo de cifrado

Instrucciones:

1
var crypto = require('crypto');

Objeto

Cipher

Cipher Constructor, ver Cipher

1
Cipher crypto.Cipher;

PKey

PKey Constructor, ver PKey

1
PKey crypto.PKey;

X509Cert

X509Cert Constructor, ver X509Cert

1
X509Cert crypto.X509Cert;

X509Crl

X509Crl Constructor, ver X509Crl

1
X509Crl crypto.X509Crl;

X509Req

X509Req Constructor, ver X509Req

1
X509Req crypto.X509Req;

Función estática

createHash

Cree un objeto de resumen de información basado en el nombre del algoritmo dado

1
static Digest crypto.createHash(String algo);

Parámetros de llamada:

  • algo: Cadena, especifica el algoritmo del objeto de resumen del mensaje.

Devolver resultado:

  • Digest, Objeto de resumen de información de retorno

createHmac

Cree un objeto de resumen de información de hmac basado en el nombre del algoritmo dado

1 2
static Digest crypto.createHmac(String algo, Buffer key);

Parámetros de llamada:

  • algo: Cadena, especifica el algoritmo del objeto de resumen del mensaje.
  • key: Buffer, Clave de firma binaria

Devolver resultado:

  • Digest, Objeto de resumen de información de retorno

loadPKey

Cargar un archivo de clave en formato PEM / DER

1 2
static PKey crypto.loadPKey(String filename, String password = "");

Parámetros de llamada:

  • filename: Cadena, nombre del archivo de claves
  • password: Cadena, descifrar contraseña

Devolver resultado:

  • PKey, Devuelve un objeto que contiene la clave

loadCert

Cargue un certificado en formato CRT / PEM / DER / TXT, que se puede llamar varias veces

1
static X509Cert crypto.loadCert(String filename);

Parámetros de llamada:

  • filename: Cadena, nombre de archivo de certificado

Devolver resultado:

  • X509Cert, Devuelve el objeto que contiene el certificado

loadFile carga el certificado de mozilla, txt, que se puede descargar y usar en http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt


loadCrl

Cargue un certificado de revocación en formato PEM / DER, al que se puede llamar varias veces

1
static X509Crl crypto.loadCrl(String filename);

Parámetros de llamada:

  • filename: Cadena, nombre de archivo del certificado revocado

Devolver resultado:

  • X509Crl, Devuelve el objeto que contiene el certificado revocado

loadReq

Cargue una solicitud de certificado en formato PEM / DER, que se puede llamar varias veces

1
static X509Req crypto.loadReq(String filename);

Parámetros de llamada:

  • filename: Cadena, nombre de archivo de solicitud de certificado

Devolver resultado:

  • X509Req, Devuelve el objeto que contiene el certificado solicitado

randomBytes

Genere números aleatorios de tamaño especificado, use el generador havege

1
static Buffer crypto.randomBytes(Integer size) async;

Parámetros de llamada:

  • size: Entero, especifique el tamaño del número aleatorio generado

Devolver resultado:

  • Buffer, Devuelve el número aleatorio generado

simpleRandomBytes

Genere un número aleatorio de baja intensidad de un tamaño específico, utilizando un algoritmo rápido

1
static Buffer crypto.simpleRandomBytes(Integer size) async;

Parámetros de llamada:

  • size: Entero, especifique el tamaño del número aleatorio generado

Devolver resultado:

  • Buffer, Devuelve el número aleatorio generado

pseudoRandomBytes

Genere números pseudoaleatorios de tamaño especificado, usando el generador de entropía

1
static Buffer crypto.pseudoRandomBytes(Integer size) async;

Parámetros de llamada:

  • size: Entero, especifique el tamaño del número aleatorio generado

Devolver resultado:

  • Buffer, Devuelve el número aleatorio generado

randomArt

Generar una imagen de carácter visual de los datos dados.

1 2 3
static String crypto.randomArt(Buffer data, String title, Integer size = 8);

Parámetros de llamada:

  • data: Buffer, Especifique los datos que se mostrarán
  • title: Cadena, especifica el título de la imagen del carácter, los caracteres de varios bytes provocarán un error de ancho
  • size: Número entero, tamaño de la imagen del carácter

Devolver resultado:

  • String, Devuelve la imagen de cadena visual generada

genRsaKey

Genere una clave privada RSA

1
static PKey crypto.genRsaKey(Integer size) async;

Parámetros de llamada:

  • size: Entero, especifique la longitud de la clave RSA, bit como unidad

Devolver resultado:

  • PKey, Devuelve el objeto que contiene la clave privada generada

genEcKey

Genera una clave privada EC

1
static PKey crypto.genEcKey(String curve = "secp521r1") async;

Parámetros de llamada:

  • curve: Cadena, especificar curva elíptica preestablecida, los valores opcionales son: "secp521r1", "brainpoolP512r1", "secp384r1", "brainpoolP384r1", "secp256r1", "secp256k1", "brainpoolP256r1", "secp224r1", "secp224k1" "secp192r1", "secp192k1"

Devolver resultado:

  • PKey, Devuelve el objeto que contiene la clave privada generada

genSm2Key

Genere una clave privada SM2

1
static PKey crypto.genSm2Key() async;

Devolver resultado:

  • PKey, Devuelve el objeto que contiene la clave privada generada

pbkdf1

Genere la clave binaria requerida de acuerdo con pbkdf1 de acuerdo con la contraseña de texto sin formato

1 2 3 4 5
static Buffer crypto.pbkdf1(Buffer password, Buffer salt, Integer iterations, Integer size, Integer algo) async;

Parámetros de llamada:

  • password: Buffer, Especifique la contraseña utilizada
  • salt: Buffer, Especifique la sal utilizada por hmac
  • iterations: Entero, especifique el número de iteraciones
  • size: Entero, especificar el tamaño de la clave
  • algo: Entero, especifique qué usar hash Algoritmo, ver hash Módulo

Devolver resultado:

  • Buffer, Devuelve la clave binaria generada

Genere la clave binaria requerida de acuerdo con pbkdf1 de acuerdo con la contraseña de texto sin formato

1 2 3 4 5
static Buffer crypto.pbkdf1(Buffer password, Buffer salt, Integer iterations, Integer size, String algoName) async;

Parámetros de llamada:

  • password: Buffer, Especifique la contraseña utilizada
  • salt: Buffer, Especifique la sal utilizada por hmac
  • iterations: Entero, especifique el número de iteraciones
  • size: Entero, especificar el tamaño de la clave
  • algoName: Cadena, especifique qué usar hash Algoritmo, ver hash Módulo

Devolver resultado:

  • Buffer, Devuelve la clave binaria generada

pbkdf2

De acuerdo con rfc2898, genere la clave binaria requerida de acuerdo con la contraseña de texto sin formato

1 2 3 4 5
static Buffer crypto.pbkdf2(Buffer password, Buffer salt, Integer iterations, Integer size, Integer algo) async;

Parámetros de llamada:

  • password: Buffer, Especifique la contraseña utilizada
  • salt: Buffer, Especifique la sal utilizada por hmac
  • iterations: Entero, especifique el número de iteraciones
  • size: Entero, especificar el tamaño de la clave
  • algo: Entero, especifique qué usar hash Algoritmo, ver hash Módulo

Devolver resultado:

  • Buffer, Devuelve la clave binaria generada

De acuerdo con rfc2898, genere la clave binaria requerida de acuerdo con la contraseña de texto sin formato

1 2 3 4 5
static Buffer crypto.pbkdf2(Buffer password, Buffer salt, Integer iterations, Integer size, String algoName) async;

Parámetros de llamada:

  • password: Buffer, Especifique la contraseña utilizada
  • salt: Buffer, Especifique la sal utilizada por hmac
  • iterations: Entero, especifique el número de iteraciones
  • size: Entero, especificar el tamaño de la clave
  • algoName: Cadena, especifique qué usar hash Algoritmo, ver hash Módulo

Devolver resultado:

  • Buffer, Devuelve la clave binaria generada

getHashes

Obtenga el soporte del módulo criptográfico hash(Resumen) Algoritmos, como 'md5', 'sha224'

1
static Array crypto.getHashes();

Devolver resultado:

  • Array, Volver al soporte de fibjs hash Matriz de algoritmos

constante

AES

Especifique el algoritmo de cifrado simétrico AES, admite claves de 128, 192, 256 bits, el modo de trabajo de cifrado de bloque admite ECB, CBC, CFB128, CTR, GCM, CCM, XTS

1
const crypto.AES = 1;

CAMELLIA

Especifique el algoritmo de cifrado simétrico CAMELLIA, admite claves de 128, 192, 256 bits, el modo de trabajo de cifrado de bloque admite ECB, CBC, CFB128, CTR, GCM, CCM

1
const crypto.CAMELLIA = 2;

DES

Especifique el algoritmo de cifrado simétrico DES, admite clave de 64 bits, el modo de trabajo de cifrado de bloque admite ECB, CBC

1
const crypto.DES = 3;

DES_EDE

Especifique el algoritmo de cifrado simétrico DES-EDE, admite clave de 128 bits, el modo de trabajo de cifrado de bloque admite ECB, CBC

1
const crypto.DES_EDE = 4;

DES_EDE3

Especifique el algoritmo de cifrado simétrico DES-EDE3, admite clave de 192 bits, el modo de trabajo de cifrado de bloque admite ECB, CBC

1
const crypto.DES_EDE3 = 5;

BLOWFISH

Especifique el algoritmo de cifrado simétrico BLOWFISH, admite clave de 192 bits, el modo de trabajo de cifrado de bloque admite ECB, CBC, CFB64, CTR

1
const crypto.BLOWFISH = 6;

ARC4

Especifique el algoritmo de cifrado simétrico ARC4, admite claves de 40, 56, 64, 128 bits

1
const crypto.ARC4 = 7;

ARIA

Especifique el algoritmo de cifrado simétrico ARIA, admite claves de 128, 192, 256 bits, el modo de trabajo de cifrado de bloque admite ECB, CBC, CFB128, CTR, GCM, CCM

1
const crypto.ARIA = 8;

CHACHA20

Especifique el algoritmo de cifrado simétrico CHACHA20, admite clave de 256 bits, el modo de trabajo de cifrado de bloque admite POLY1305

1
const crypto.CHACHA20 = 9;

SM4

Especifique el algoritmo de cifrado simétrico SM4, el modo de trabajo de cifrado de bloque es compatible con ECB, CBC

1
const crypto.SM4 = 10;

ECB

El modo de trabajo de cifrado de bloque designado es compatible con ECB

1
const crypto.ECB = 1;

CBC

El modo de trabajo de cifrado de bloque designado admite CBC

1
const crypto.CBC = 2;

CFB64

El modo de trabajo de cifrado de bloque designado es compatible con CFB64

1
const crypto.CFB64 = 3;

CFB128

El modo de trabajo de cifrado de bloque designado es compatible con CFB128

1
const crypto.CFB128 = 4;

OFB

El modo de trabajo de cifrado de bloque designado admite OFB

1
const crypto.OFB = 5;

CTR

El modo de trabajo de cifrado de bloque designado admite CTR

1
const crypto.CTR = 6;

GCM

El modo de trabajo de cifrado de bloque designado admite GCM

1
const crypto.GCM = 7;

STREAM

Especificar el modo de cifrado de flujo

1
const crypto.STREAM = 8;

CCM

El modo de trabajo de cifrado de bloque designado es compatible con CCM

1
const crypto.CCM = 9;

XTS

El modo de trabajo de cifrado de bloque designado es compatible con XTS

1
const crypto.XTS = 10;

POLY1305

El modo de trabajo de cifrado de bloque designado es compatible con POLY1305

1
const crypto.POLY1305 = 11;

PKCS7

Especifique el modo de relleno como PKCS7

1
const crypto.PKCS7 = 0;

ONE_AND_ZEROS

Especifique el modo de relleno como ONE_AND_ZEROS

1
const crypto.ONE_AND_ZEROS = 1;

ZEROS_AND_LEN

Especifique el modo de relleno como ZEROS_AND_LEN

1
const crypto.ZEROS_AND_LEN = 2;

ZEROS

Especifique el modo de relleno como ZEROS

1
const crypto.ZEROS = 3;

NOPADDING

Especifique el modo de llenado como NOPADDING

1
const crypto.NOPADDING = 4;