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 hash
un submódulo, debe require('hash');
cargar el módulo con .
En hash
el módulo, incluye principalmente las siguientes clases Digest
,. Hmac
Entre ellos, Digest
la clase se usa para calcular el algoritmo de resumen del mensaje y Hmac
la clase se usa para calcular el mensaje hash con clave.
A continuación se muestra un código de ejemplo simple que utiliza Digest
la clase MD5
Resumen de cálculo:
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);
En el código de ejemplo anterior, primero inicializamos hash.digest([hash.MD5](hash.md#MD5))
un Digest
objeto en MD5
el 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 MD5
de , la clase también admite otros algoritmos de Digest
resumen, como SHA-1
, SHA-256
etc. SHA-512
Al usarlo, debe md5
cambiar 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
2static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
3static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
1static 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
3static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
4static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
2static 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
1const hash.MD5 = 1;
SHA1
Constante de identificación del algoritmo de resumen de mensajes SHA1
1const hash.SHA1 = 2;
SHA224
Constante de identificación del algoritmo de resumen de mensajes SHA224
1const hash.SHA224 = 3;
SHA256
Constante de identificación del algoritmo de resumen de mensajes SHA256
1const hash.SHA256 = 4;
SHA384
Constante de identificación del algoritmo de resumen de mensajes SHA384
1const hash.SHA384 = 5;
SHA512
Constante de identificación del algoritmo de resumen de mensajes SHA512
1const hash.SHA512 = 6;
RIPEMD160
Constante de identificación del algoritmo de resumen de información RIPEMD160
1const hash.RIPEMD160 = 7;
SM3
Constantes de identificación del algoritmo de resumen de mensajes SM3
1const hash.SM3 = 8;
SHA3_256
Constante de identificación del algoritmo de resumen de mensajes SHA3_256
1const hash.SHA3_256 = 9;
SHA3_384
Constante de identificación del algoritmo de resumen de mensajes SHA3_384
1const hash.SHA3_384 = 10;
SHA3_512
Constante de identificación del algoritmo de resumen de mensajes SHA3_512
1const hash.SHA3_512 = 11;
SHAKE128
Constante de identificación del algoritmo de resumen de mensajes SHAKE128
1const hash.SHAKE128 = 12;
SHAKE256
Constante de identificación del algoritmo de resumen de mensajes SHAKE256
1const hash.SHAKE256 = 13;
KECCAK256
KECCAK256 Constante de identificación del algoritmo de resumen de información
1const hash.KECCAK256 = 14;
KECCAK384
KECCAK384 Constante de identificación del algoritmo de resumen de información
1const hash.KECCAK384 = 15;
KECCAK512
KECCAK512 Constante de identificación del algoritmo de resumen de información
1const hash.KECCAK512 = 16;
BLAKE2S
Constantes de identificación del algoritmo de resumen de mensajes BLAKE2S
1const hash.BLAKE2S = 17;
BLAKE2B
Constantes de identificación del algoritmo de resumen de mensajes BLAKE2B
1const hash.BLAKE2B = 18;
BLAKE2SP
Constantes de identificación del algoritmo de resumen de mensajes BLAKE2SP
1const hash.BLAKE2SP = 19;
BLAKE2BP
Constante de identificación del algoritmo de resumen de mensajes BLAKE2BP
1const hash.BLAKE2BP = 20;