Módulo módulo básico

módulo hash

O módulo hash úsase principalmente para implementar algoritmos de resumo de mensaxes e é un submódulo moi importante na implementación de algoritmos de cifrado. Ao mesmo tempo, o algoritmo de resumo de mensaxes tamén é a base de moitos algoritmos de cifrado.

Antes de usar hashun submódulo, cómpre require('hash');cargar o módulo con .

No hashmódulo, inclúe principalmente as seguintes clases Digest, Hmac. Entre elas, Digesta clase úsase para calcular o algoritmo de resumo de mensaxes e Hmaca clase para calcular a mensaxe hash con clave.

Aquí tes un exemplo de código sinxelo usando Digesta clase Compute MD5summary:

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);

No código de exemplo anterior, primeiro inicializamos hash.digest([hash.MD5](hash.md#MD5))un Digestobxecto MD5no patrón usando . Despois usamos update()o método para engadir os datos necesarios para o cálculo do resumo ao obxecto Digest. A continuación, usamos digest()o método para calcular o resultado do resumo e devolver a codificación especificada polo parámetro (aquí úsase a codificación hexadecimal). Finalmente, móstranse os resultados resumidos calculados.

Ademais MD5de , Digesta clase tamén admite outros algoritmos de resumo, como SHA-1, SHA-256, SHA-512etc. Ao usalo, cómpre md5cambiar os parámetros ao algoritmo de resumo correspondente.

función estática

digest

Crea un operando de resumo de información baseado no identificador de algoritmo especificado.

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

Parámetros de chamada:

  • algo: Número enteiro, especifique o algoritmo de operación de resumo
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

md5

Crea un operando de resumo de mensaxes MD5

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

sha1

Crea un operando de resumo de mensaxes SHA1

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

sha224

Crea un operando de resumo de mensaxes SHA224

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

sha256

Crea un operando de resumo de mensaxes SHA256

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

sha384

Crea un operando de resumo de mensaxes SHA384

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

sha512

Crea un operando de resumo de mensaxes SHA512

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

ripemd160

Crea un operando de resumo de mensaxes RIPEMD160

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

sm3

Crea un operando de resumo de mensaxes SM3

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

Crea un operando de resumo de mensaxes SM3 e preprocesao

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

Parámetros de chamada:

  • pubKey:PKey, clave pública de sinatura
  • id: Cadena, ID de sinatura
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

sha3_256

Crea un operando de resumo de mensaxes SHA3_256

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

sha3_384

Crea un operando de resumo de mensaxes SHA3_384

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

sha3_512

Crea un operando de resumo de mensaxes SHA3_512

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

shake128

Crea un operando de resumo de mensaxes SHAKE128

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

shake256

Crea un operando de resumo de mensaxes SHAKE256

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

keccak256

Crea un operando de resumo de mensaxes KECCAK256

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

keccak384

Crea un operando de resumo de mensaxes KECCAK384

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

keccak512

Crea un operando de resumo de mensaxes KECCAK512

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

blake2s

Crea un operando de resumo de mensaxes BLAKE2S

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

blake2b

Crea un operando de resumo de mensaxes BLAKE2B

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

blake2sp

Crea un operando de resumo de mensaxes BLAKE2SP

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

blake2bp

Crea un operando de resumo de mensaxes BLAKE2BP

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

Parámetros de chamada:

  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac

Crea un operando de sinatura de resumo de mensaxes baseado no identificador de algoritmo especificado.

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

Parámetros de chamada:

  • algo: Número enteiro, especifique o algoritmo de operación de resumo
  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_md5

Crea un operando de sinatura de resumo de mensaxes MD5

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_sha1

Crea un operando de sinatura de resumo de mensaxes SHA1

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_sha224

Crea un operando de sinatura de resumo de mensaxes SHA224

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_sha256

Crea un operando de sinatura de resumo de mensaxes SHA256

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_sha384

Crea un operando de sinatura de resumo de mensaxes SHA384

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_sha512

Crea un operando de sinatura de resumo de mensaxes SHA512

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_ripemd160

Cree un obxecto de operación de sinatura de resumo de mensaxes RIPEMD160

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_sm3

Crea un operando de sinatura de resumo de mensaxes SM3

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

Cree un obxecto de operación de sinatura de resumo de mensaxes SM3 e realice o preprocesamento

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

Parámetros de chamada:

  • pubKey:PKey, clave pública de sinatura
  • id: Cadena, ID de sinatura
  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_sha3_256

Crea un operando de sinatura de resumo de mensaxes SHA3_256

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_sha3_384

Crea un operando de sinatura de resumo de mensaxes SHA3_384

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_shake128

Crea un obxecto de operación de sinatura de resumo de mensaxes SHAKE128

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_shake256

Crea un obxecto de operación de sinatura de resumo de mensaxes SHAKE256

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_sha3_512

Crea un operando de sinatura de resumo de mensaxes SHA3_512

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_keccak256

Crea un operando de sinatura de resumo de mensaxes KECCAK256

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_keccak384

Crea un operando de sinatura de resumo de mensaxes KECCAK384

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_keccak512

Crea un operando de sinatura de resumo de mensaxes KECCAK512

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_blake2s

Crea un obxecto de operación de sinatura de resumo de mensaxes BLAKE2S

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_blake2b

Crea un obxecto de operación de sinatura de resumo de mensaxes BLAKE2B

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_blake2sp

Crea un obxecto de operación de sinatura de resumo de mensaxes BLAKE2SP

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

hmac_blake2bp

Crea un obxecto de operación de sinatura de resumo de mensaxes BLAKE2BP

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

Parámetros de chamada:

  • key:Buffer, clave de sinatura binaria
  • data:Buffer, crea datos binarios que se actualizan ao mesmo tempo. O valor predeterminado é nulo e os datos non se actualizan.

Resultados de devolución:

  • Digest, devolve o obxecto de resumo de información construído

constante

MD5

Constante de identificación do algoritmo de resumo de mensaxes MD5

1
const hash.MD5 = 1;

SHA1

Constante de identificación do algoritmo de dixestión de mensaxes SHA1

1
const hash.SHA1 = 2;

SHA224

Constante de identificación do algoritmo de resumo de mensaxes SHA224

1
const hash.SHA224 = 3;

SHA256

Constante de identificación do algoritmo de resumo de mensaxes SHA256

1
const hash.SHA256 = 4;

SHA384

Constante de identificación do algoritmo de resumo de mensaxes SHA384

1
const hash.SHA384 = 5;

SHA512

Constante de identificación do algoritmo de resumo de mensaxes SHA512

1
const hash.SHA512 = 6;

RIPEMD160

Constante de identificación do algoritmo de resumo de información RIPEMD160

1
const hash.RIPEMD160 = 7;

SM3

Constantes de identificación do algoritmo de resumo de mensaxes SM3

1
const hash.SM3 = 8;

SHA3_256

Constante de identificación do algoritmo de resumo de mensaxes SHA3_256

1
const hash.SHA3_256 = 9;

SHA3_384

Constante de identificación do algoritmo de resumo de mensaxes SHA3_384

1
const hash.SHA3_384 = 10;

SHA3_512

Constante de identificación do algoritmo de resumo de mensaxes SHA3_512

1
const hash.SHA3_512 = 11;

SHAKE128

Constante de identificación do algoritmo de resumo de mensaxes SHAKE128

1
const hash.SHAKE128 = 12;

SHAKE256

Constante de identificación do algoritmo de resumo de mensaxes SHAKE256

1
const hash.SHAKE256 = 13;

KECCAK256

KECCAK256 Constante de identificación do algoritmo de dixestión de información

1
const hash.KECCAK256 = 14;

KECCAK384

KECCAK384 Constante de identificación do algoritmo de dixestión de información

1
const hash.KECCAK384 = 15;

KECCAK512

KECCAK512 Constante de identificación do algoritmo de dixestión de información

1
const hash.KECCAK512 = 16;

BLAKE2S

Constantes de identificación do algoritmo de resumo de mensaxes BLAKE2S

1
const hash.BLAKE2S = 17;

BLAKE2B

Constantes de identificación do algoritmo de resumo de mensaxes BLAKE2B

1
const hash.BLAKE2B = 18;

BLAKE2SP

Constantes de identificación do algoritmo de resumo de mensaxes BLAKE2SP

1
const hash.BLAKE2SP = 19;

BLAKE2BP

BLAKE2BP constante de identificación do algoritmo de dixestión de mensaxes

1
const hash.BLAKE2BP = 20;