Módulo criptográfico
Módulo de algoritmo de cifrado
Instrucciones:
1var crypto = require('crypto');
Objeto
Cipher
Constructor de Cipher , consulte Cipher
1Cipher crypto.Cipher;
PKey
1PKey crypto.PKey;
X509Cert
Constructor X509Cert , consulte X509Cert
1X509Cert crypto.X509Cert;
X509Crl
Constructor X509Crl , consulte X509Crl
1X509Crl crypto.X509Crl;
X509Req
Constructor X509Req , consulte X509Req
1X509Req crypto.X509Req;
Función estática
createHash
Cree un objeto de resumen de información basado en el nombre del algoritmo dado
1static Digest crypto.createHash(String algo);
Parámetros de llamada:
- algo : Cadena, especifica el algoritmo del objeto de resumen de información
Devolver resultado:
- Digest , devuelve el objeto de resumen de información
createHmac
Cree un objeto de resumen de información de hmac basado en el nombre del algoritmo dado
1
2static Digest crypto.createHmac(String algo,
Buffer key);
Parámetros de llamada:
- algo : Cadena, especifica el algoritmo del objeto de resumen de información
- key : Buffer , clave de firma binaria
Devolver resultado:
- Digest , devuelve el objeto de resumen de información
loadPKey
Cargar un archivo de clave en formato PEM / DER
1
2static PKey crypto.loadPKey(String filename,
String password = "");
Parámetros de llamada:
- filename : Cadena, nombre de archivo clave
- 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
1static X509Cert crypto.loadCert(String filename);
Parámetros de llamada:
- filename : String, nombre del archivo del certificado
Devolver resultado:
- X509Cert , devuelve el objeto que contiene el certificado
loadFile carga el certificado de mozilla, txt, que se puede descargar y utilizar en http
loadCrl
Cargue un certificado de revocación en formato PEM / DER, al que se puede llamar varias veces
1static X509Crl crypto.loadCrl(String filename);
Parámetros de llamada:
- filename : String, el nombre del archivo de 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
1static X509Req crypto.loadReq(String filename);
Parámetros de llamada:
- filename : String, 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
1static Buffer crypto.randomBytes(Integer size) async;
Parámetros de llamada:
- size : entero, especifique el size 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
1static Buffer crypto.simpleRandomBytes(Integer size) async;
Parámetros de llamada:
- size : entero, especifique el size 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
1static Buffer crypto.pseudoRandomBytes(Integer size) async;
Parámetros de llamada:
- size : entero, especifique el size 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
3static 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 : entero, tamaño de la imagen del carácter
Devolver resultado:
- String , devuelve la imagen de cadena visual generada
pbkdf1
De acuerdo con pbkdf1, genere la clave binaria requerida de acuerdo con la contraseña de texto sin formato
1
2
3
4
5static 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, especifique el tamaño de la clave
- algo : entero, especifique el algoritmo hash que se utilizará, consulte el módulo hash para obtener más detalles
Devolver resultado:
- Buffer , devuelve la clave binaria generada
De acuerdo con pbkdf1, genere la clave binaria requerida de acuerdo con la contraseña de texto sin formato
1
2
3
4
5static 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, especifique el tamaño de la clave
- algoName : String, especifique el algoritmo hash que se utilizará, consulte el módulo hash para obtener más detalles
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
5static 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, especifique el tamaño de la clave
- algo : entero, especifique el algoritmo hash que se utilizará, consulte el módulo hash para obtener más detalles
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
5static 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, especifique el tamaño de la clave
- algoName : String, especifique el algoritmo hash que se utilizará, consulte el módulo hash para obtener más detalles
Devolver resultado:
- Buffer , devuelve la clave binaria generada
constante
AES
Especifique el algoritmo de cifrado simétrico AES, soporte 128, 192, clave de 256 bits, el modo de trabajo de cifrado de bloque admite ECB, CBC, CFB128, CTR, GCM, CCM, XTS
1const 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
1const 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
1const 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
1const 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
1const 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
1const crypto.BLOWFISH = 6;
ARC4
Especifique el algoritmo de cifrado simétrico ARC4, admite claves de 40, 56, 64, 128 bits
1const 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
1const 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
1const crypto.CHACHA20 = 9;
SM4
Especifique el algoritmo de cifrado simétrico SM4, el modo de trabajo de cifrado de bloque admite ECB, CBC
1const crypto.SM4 = 10;
ECB
El modo de trabajo de cifrado de bloque designado admite ECB
1const crypto.ECB = 1;
CBC
El modo de trabajo de cifrado de bloque designado admite CBC
1const crypto.CBC = 2;
CFB64
El modo de trabajo de cifrado de bloque designado admite CFB64
1const crypto.CFB64 = 3;
CFB128
El modo de trabajo de cifrado de bloque designado admite CFB128
1const crypto.CFB128 = 4;
OFB
El modo de trabajo de cifrado de bloque designado admite OFB
1const crypto.OFB = 5;
CTR
El modo de trabajo de cifrado de bloque designado admite CTR
1const crypto.CTR = 6;
GCM
El modo de trabajo de cifrado de bloque designado admite GCM
1const crypto.GCM = 7;
STREAM
Especificar el modo de cifrado de flujo
1const crypto.STREAM = 8;
CCM
El modo de trabajo de cifrado de bloque designado admite CCM
1const crypto.CCM = 9;
XTS
El modo de trabajo de cifrado de bloque designado admite XTS
1const crypto.XTS = 10;
POLY1305
El modo de trabajo de cifrado de bloque designado admite POLY1305
1const crypto.POLY1305 = 11;
PKCS7
Especifique el modo de relleno como PKCS7
1const crypto.PKCS7 = 0;
ONE_AND_ZEROS
Especifique el modo de relleno como ONE_AND_ZEROS
1const crypto.ONE_AND_ZEROS = 1;
ZEROS_AND_LEN
Especifique el modo de relleno como ZEROS_AND_LEN
1const crypto.ZEROS_AND_LEN = 2;
ZEROS
Especifique el modo de relleno como ZEROS
1const crypto.ZEROS = 3;
NOPADDING
Especifique el modo de llenado como NOPADDING
1const crypto.NOPADDING = 4;