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 hash
un submódulo, cómpre require('hash');
cargar o módulo con .
No hash
módulo, inclúe principalmente as seguintes clases Digest
, Hmac
. Entre elas, Digest
a clase úsase para calcular o algoritmo de resumo de mensaxes e Hmac
a clase para calcular a mensaxe hash con clave.
Aquí tes un exemplo de código sinxelo usando Digest
a clase Compute MD5
summary:
1
2
3
4
5
6
7
8
9
10
11
12const 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 Digest
obxecto MD5
no 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 MD5
de , Digest
a clase tamén admite outros algoritmos de resumo, como SHA-1
, SHA-256
, SHA-512
etc. Ao usalo, cómpre md5
cambiar 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
2static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
3static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
3static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
4static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
1const hash.MD5 = 1;
SHA1
Constante de identificación do algoritmo de dixestión de mensaxes SHA1
1const hash.SHA1 = 2;
SHA224
Constante de identificación do algoritmo de resumo de mensaxes SHA224
1const hash.SHA224 = 3;
SHA256
Constante de identificación do algoritmo de resumo de mensaxes SHA256
1const hash.SHA256 = 4;
SHA384
Constante de identificación do algoritmo de resumo de mensaxes SHA384
1const hash.SHA384 = 5;
SHA512
Constante de identificación do algoritmo de resumo de mensaxes SHA512
1const hash.SHA512 = 6;
RIPEMD160
Constante de identificación do algoritmo de resumo de información RIPEMD160
1const hash.RIPEMD160 = 7;
SM3
Constantes de identificación do algoritmo de resumo de mensaxes SM3
1const hash.SM3 = 8;
SHA3_256
Constante de identificación do algoritmo de resumo de mensaxes SHA3_256
1const hash.SHA3_256 = 9;
SHA3_384
Constante de identificación do algoritmo de resumo de mensaxes SHA3_384
1const hash.SHA3_384 = 10;
SHA3_512
Constante de identificación do algoritmo de resumo de mensaxes SHA3_512
1const hash.SHA3_512 = 11;
SHAKE128
Constante de identificación do algoritmo de resumo de mensaxes SHAKE128
1const hash.SHAKE128 = 12;
SHAKE256
Constante de identificación do algoritmo de resumo de mensaxes SHAKE256
1const hash.SHAKE256 = 13;
KECCAK256
KECCAK256 Constante de identificación do algoritmo de dixestión de información
1const hash.KECCAK256 = 14;
KECCAK384
KECCAK384 Constante de identificación do algoritmo de dixestión de información
1const hash.KECCAK384 = 15;
KECCAK512
KECCAK512 Constante de identificación do algoritmo de dixestión de información
1const hash.KECCAK512 = 16;
BLAKE2S
Constantes de identificación do algoritmo de resumo de mensaxes BLAKE2S
1const hash.BLAKE2S = 17;
BLAKE2B
Constantes de identificación do algoritmo de resumo de mensaxes BLAKE2B
1const hash.BLAKE2B = 18;
BLAKE2SP
Constantes de identificación do algoritmo de resumo de mensaxes BLAKE2SP
1const hash.BLAKE2SP = 19;
BLAKE2BP
BLAKE2BP constante de identificación do algoritmo de dixestión de mensaxes
1const hash.BLAKE2BP = 20;