Módulo módulo básico

Módulo criptográfico

Módulo de algoritmo de cifrado

Instrucciones:

1
var crypto = require('crypto');

Objeto

Cipher

Constructor de Cipher , consulte Cipher

1
Cipher crypto.Cipher;

PKey

Constructor PKey , ver PKey

1
PKey crypto.PKey;

X509Cert

Constructor X509Cert , consulte X509Cert

1
X509Cert crypto.X509Cert;

X509Crl

Constructor X509Crl , consulte X509Crl

1
X509Crl crypto.X509Crl;

X509Req

Constructor X509Req , consulte 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 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 2
static 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

Cargue 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 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

1
static 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

1
static X509Crl crypto.loadCrl(String filename);

Parámetros de llamada:

  • filename : String, 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 : String, nombre de archivo de solicitud de certificado

Devolver resultado:

  • X509Req , devuelve el objeto que contiene el certificado solicitado

randomBytes

Genere un número aleatorio del tamaño especificado, use el generador havege

1
static 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 números aleatorios de baja intensidad de tamaño especificado, utilizando algoritmos rápidos

1
static 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

1
static 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 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 : String, especifica el título de la imagen del personaje, los caracteres de varios bytes causará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 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, 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 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, 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 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, 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 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, 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, 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 admite ECB, CBC

1
const crypto.SM4 = 10;

ECB

El modo de trabajo de cifrado de bloque designado admite 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 admite CFB64

1
const crypto.CFB64 = 3;

CFB128

El modo de trabajo de cifrado de bloque designado admite 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 admite CCM

1
const crypto.CCM = 9;

XTS

El modo de trabajo de cifrado de bloque designado admite 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;