Módulo módulo básico

hash del módulo

El módulo hash se utiliza principalmente para implementar algoritmos de resumen de mensajes y es un submódulo muy importante en la implementación de algoritmos de cifrado. Al mismo tiempo, el algoritmo de resumen de mensajes es también la base de muchos algoritmos de cifrado.

Antes de usar hashun submódulo, debe require('hash');cargar el módulo con .

En hashel módulo, incluye principalmente las siguientes clases Digest,. HmacEntre ellos, Digestla clase se usa para calcular el algoritmo de resumen del mensaje y Hmacla clase se usa para calcular el mensaje hash con clave.

A continuación se muestra un código de ejemplo simple que utiliza Digestla clase MD5Resumen de cálculo:

1 2 3 4 5 6 7 8 9 10 11 12
const hash = require('hash'); // create a MD5 digest object const digest = hash.digest(hash.MD5); // update digest with data const data = 'hello, world'; digest.update(data); // output result in hex const result = digest.digest('hex'); console.log(result);

En el código de ejemplo anterior, primero inicializamos hash.digest([hash.MD5](hash.md#MD5))un Digestobjeto en MD5el patrón usando . Luego usamos update()el método para agregar los datos necesarios para el cálculo del resumen al objeto Digest. A continuación, utilizamos digest()el método para calcular el resultado resumido y devolver la codificación especificada por el parámetro (aquí se utiliza la codificación hexadecimal). Finalmente, se generan los resultados resumidos calculados.

Además MD5de , la clase también admite otros algoritmos de Digestresumen, como SHA-1, SHA-256etc. SHA-512Al usarlo, debe md5cambiar los parámetros al algoritmo de resumen correspondiente.

función estática

digest

Crea un operando de resumen de información basado en el identificador de algoritmo especificado.

1 2
static Digest hash.digest(Integer algo, Buffer data = NULL);

Parámetros de llamada:

  • algo: Entero, especifique el algoritmo de operación de resumen
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

md5

Crear un operando de resumen de mensaje MD5

1
static Digest hash.md5(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

sha1

Crear un operando de resumen de mensaje SHA1

1
static Digest hash.sha1(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

sha224

Crear un operando de resumen de mensaje SHA224

1
static Digest hash.sha224(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

sha256

Crear un operando de resumen de mensaje SHA256

1
static Digest hash.sha256(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

sha384

Crear un operando de resumen de mensaje SHA384

1
static Digest hash.sha384(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

sha512

Crear un operando de resumen de mensaje SHA512

1
static Digest hash.sha512(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

ripemd160

Crear un operando de resumen de mensaje RIPEMD160

1
static Digest hash.ripemd160(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

sm3

Crear un operando de resumen de mensaje SM3

1
static Digest hash.sm3(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

Cree un operando de resumen de mensaje SM3 y preproceselo

1 2 3
static Digest hash.sm3(PKey pubKey, String id, Buffer data = NULL);

Parámetros de llamada:

  • pubKey:PKey, clave pública de firma
  • id: Cadena, ID de firma
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

sha3_256

Crear un operando de resumen de mensaje SHA3_256

1
static Digest hash.sha3_256(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

sha3_384

Crear un operando de resumen de mensaje SHA3_384

1
static Digest hash.sha3_384(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

sha3_512

Crear un operando de resumen de mensaje SHA3_512

1
static Digest hash.sha3_512(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

shake128

Crear un operando de resumen de mensaje SHAKE128

1
static Digest hash.shake128(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

shake256

Crear un operando de resumen de mensaje SHAKE256

1
static Digest hash.shake256(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

keccak256

Crear un operando de resumen de mensaje KECCAK256

1
static Digest hash.keccak256(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

keccak384

Crear un operando de resumen de mensajes KECCAK384

1
static Digest hash.keccak384(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

keccak512

Crear un operando de resumen de mensajes KECCAK512

1
static Digest hash.keccak512(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

blake2s

Crear un operando de resumen de mensajes BLAKE2S

1
static Digest hash.blake2s(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

blake2b

Crear un operando de resumen de mensajes BLAKE2B

1
static Digest hash.blake2b(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

blake2sp

Crear un operando de resumen de mensajes BLAKE2SP

1
static Digest hash.blake2sp(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

blake2bp

Crear un operando de resumen de mensajes BLAKE2BP

1
static Digest hash.blake2bp(Buffer data = NULL);

Parámetros de llamada:

  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac

Crea un operando de firma de resumen de mensaje basado en el identificador de algoritmo especificado.

1 2 3
static Digest hash.hmac(Integer algo, Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • algo: Entero, especifique el algoritmo de operación de resumen
  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_md5

Crear un operando de firma de resumen de mensaje MD5

1 2
static Digest hash.hmac_md5(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_sha1

Crear un operando de firma de resumen de mensaje SHA1

1 2
static Digest hash.hmac_sha1(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_sha224

Crear un operando de firma de resumen de mensaje SHA224

1 2
static Digest hash.hmac_sha224(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_sha256

Crear un operando de firma de resumen de mensaje SHA256

1 2
static Digest hash.hmac_sha256(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_sha384

Crear un operando de firma de resumen de mensaje SHA384

1 2
static Digest hash.hmac_sha384(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_sha512

Crear un operando de firma de resumen de mensaje SHA512

1 2
static Digest hash.hmac_sha512(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_ripemd160

Crear un objeto de operación de firma de resumen de mensaje RIPEMD160

1 2
static Digest hash.hmac_ripemd160(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_sm3

Crear un operando de firma de resumen de mensaje SM3

1 2
static Digest hash.hmac_sm3(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

Cree un objeto de operación de firma de resumen de mensaje SM3 y realice un preprocesamiento

1 2 3 4
static Digest hash.hmac_sm3(PKey pubKey, String id, Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • pubKey:PKey, clave pública de firma
  • id: Cadena, ID de firma
  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_sha3_256

Crear un operando de firma de resumen de mensaje SHA3_256

1 2
static Digest hash.hmac_sha3_256(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_sha3_384

Crear un operando de firma de resumen de mensaje SHA3_384

1 2
static Digest hash.hmac_sha3_384(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_shake128

Crear un objeto de operación de firma de resumen de mensaje SHAKE128

1 2
static Digest hash.hmac_shake128(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_shake256

Crear un objeto de operación de firma de resumen de mensaje SHAKE256

1 2
static Digest hash.hmac_shake256(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_sha3_512

Crear un operando de firma de resumen de mensaje SHA3_512

1 2
static Digest hash.hmac_sha3_512(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_keccak256

Crear un operando de firma de resumen de mensaje KECCAK256

1 2
static Digest hash.hmac_keccak256(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_keccak384

Crear un operando de firma de resumen de mensaje KECCAK384

1 2
static Digest hash.hmac_keccak384(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_keccak512

Crear un operando de firma de resumen de mensaje KECCAK512

1 2
static Digest hash.hmac_keccak512(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_blake2s

Crear un objeto de operación de firma de resumen de mensaje BLAKE2S

1 2
static Digest hash.hmac_blake2s(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_blake2b

Crear un objeto de operación de firma de resumen de mensaje BLAKE2B

1 2
static Digest hash.hmac_blake2b(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_blake2sp

Crear un objeto de operación de firma de resumen de mensaje BLAKE2SP

1 2
static Digest hash.hmac_blake2sp(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

hmac_blake2bp

Crear un objeto de operación de firma de resumen de mensaje BLAKE2BP

1 2
static Digest hash.hmac_blake2bp(Buffer key, Buffer data = NULL);

Parámetros de llamada:

  • key:Buffer, clave de firma binaria
  • data:Buffer, crea datos binarios que se actualizan al mismo tiempo, el valor predeterminado es nulo y los datos no se actualizan.

Resultados de devolución:

  • Digest, devuelve el objeto de resumen de información construido

constante

MD5

Constante de identificación del algoritmo de resumen de mensajes MD5

1
const hash.MD5 = 1;

SHA1

Constante de identificación del algoritmo de resumen de mensajes SHA1

1
const hash.SHA1 = 2;

SHA224

Constante de identificación del algoritmo de resumen de mensajes SHA224

1
const hash.SHA224 = 3;

SHA256

Constante de identificación del algoritmo de resumen de mensajes SHA256

1
const hash.SHA256 = 4;

SHA384

Constante de identificación del algoritmo de resumen de mensajes SHA384

1
const hash.SHA384 = 5;

SHA512

Constante de identificación del algoritmo de resumen de mensajes SHA512

1
const hash.SHA512 = 6;

RIPEMD160

Constante de identificación del algoritmo de resumen de información RIPEMD160

1
const hash.RIPEMD160 = 7;

SM3

Constantes de identificación del algoritmo de resumen de mensajes SM3

1
const hash.SM3 = 8;

SHA3_256

Constante de identificación del algoritmo de resumen de mensajes SHA3_256

1
const hash.SHA3_256 = 9;

SHA3_384

Constante de identificación del algoritmo de resumen de mensajes SHA3_384

1
const hash.SHA3_384 = 10;

SHA3_512

Constante de identificación del algoritmo de resumen de mensajes SHA3_512

1
const hash.SHA3_512 = 11;

SHAKE128

Constante de identificación del algoritmo de resumen de mensajes SHAKE128

1
const hash.SHAKE128 = 12;

SHAKE256

Constante de identificación del algoritmo de resumen de mensajes SHAKE256

1
const hash.SHAKE256 = 13;

KECCAK256

KECCAK256 Constante de identificación del algoritmo de resumen de información

1
const hash.KECCAK256 = 14;

KECCAK384

KECCAK384 Constante de identificación del algoritmo de resumen de información

1
const hash.KECCAK384 = 15;

KECCAK512

KECCAK512 Constante de identificación del algoritmo de resumen de información

1
const hash.KECCAK512 = 16;

BLAKE2S

Constantes de identificación del algoritmo de resumen de mensajes BLAKE2S

1
const hash.BLAKE2S = 17;

BLAKE2B

Constantes de identificación del algoritmo de resumen de mensajes BLAKE2B

1
const hash.BLAKE2B = 18;

BLAKE2SP

Constantes de identificación del algoritmo de resumen de mensajes BLAKE2SP

1
const hash.BLAKE2SP = 19;

BLAKE2BP

Constante de identificación del algoritmo de resumen de mensajes BLAKE2BP

1
const hash.BLAKE2BP = 20;