hash del modulo
Il modulo hash viene utilizzato principalmente per implementare algoritmi di digest dei messaggi ed è un sottomodulo molto importante nell'implementazione degli algoritmi di crittografia. Allo stesso tempo, l’algoritmo digest del messaggio è anche la base di molti algoritmi di crittografia.
Prima di utilizzare hash
un sottomodulo, è necessario require('hash');
caricare il modulo con .
Nel hash
modulo include principalmente le seguenti classi Digest
, Hmac
. Tra questi, Digest
la classe viene utilizzata per calcolare l'algoritmo digest del messaggio e Hmac
la classe viene utilizzata per calcolare il messaggio hash con chiave.
Ecco un semplice esempio di codice che utilizza Digest
la classe 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);
Nel codice di esempio sopra, inizializziamo prima hash.digest([hash.MD5](hash.md#MD5))
un Digest
oggetto MD5
nel pattern utilizzando . Utilizziamo quindi update()
il metodo per aggiungere i dati richiesti per il calcolo del digest all'oggetto Digest. Successivamente, utilizziamo digest()
il metodo per calcolare il risultato di riepilogo e restituire la codifica specificata dal parametro (qui viene utilizzata la codifica esadecimale). Infine, vengono emessi i risultati di riepilogo calcolati.
Oltre MD5
a , Digest
la classe supporta anche altri algoritmi di riepilogo, come SHA-1
, SHA-256
, SHA-512
ecc. Quando lo si utilizza, è necessario md5
modificare i parametri nell'algoritmo di riepilogo corrispondente.
funzione statica
digest
Crea un operando Information Digest in base all'identificatore dell'algoritmo specificato.
1
2static Digest hash.digest(Integer algo,
Buffer data = NULL);
Parametri di chiamata:
- algo: numero intero, specifica l'algoritmo dell'operazione digest
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
md5
Creare un operando digest del messaggio MD5
1static Digest hash.md5(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
sha1
Crea un operando digest del messaggio SHA1
1static Digest hash.sha1(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
sha224
Crea un operando digest del messaggio SHA224
1static Digest hash.sha224(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
sha256
Crea un operando digest del messaggio SHA256
1static Digest hash.sha256(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
sha384
Crea un operando digest del messaggio SHA384
1static Digest hash.sha384(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
sha512
Crea un operando digest del messaggio SHA512
1static Digest hash.sha512(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
ripemd160
Creare un operando digest del messaggio RIPEMD160
1static Digest hash.ripemd160(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
sm3
Creare un operando digest del messaggio SM3
1static Digest hash.sm3(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
Creare un operando digest del messaggio SM3 e preelaborarlo
1
2
3static Digest hash.sm3(PKey pubKey,
String id,
Buffer data = NULL);
Parametri di chiamata:
- pubKey:PKey, chiave pubblica della firma
- id: stringa, ID firma
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
sha3_256
Crea un operando digest del messaggio SHA3_256
1static Digest hash.sha3_256(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
sha3_384
Crea un operando digest del messaggio SHA3_384
1static Digest hash.sha3_384(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
sha3_512
Crea un operando digest del messaggio SHA3_512
1static Digest hash.sha3_512(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
shake128
Crea un operando digest del messaggio SHAKE128
1static Digest hash.shake128(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
shake256
Crea un operando digest del messaggio SHAKE256
1static Digest hash.shake256(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
keccak256
Creare un operando digest del messaggio KECCAK256
1static Digest hash.keccak256(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
keccak384
Creare un operando digest del messaggio KECCAK384
1static Digest hash.keccak384(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
keccak512
Creare un operando digest del messaggio KECCAK512
1static Digest hash.keccak512(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
blake2s
创建一个 BLAKE2S 信息摘要运算对象
1static Digest hash.blake2s(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
blake2b
Creare un operando digest del messaggio BLAKE2B
1static Digest hash.blake2b(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
blake2sp
Creare un operando digest del messaggio BLAKE2SP
1static Digest hash.blake2sp(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
blake2bp
Creare un operando digest del messaggio BLAKE2BP
1static Digest hash.blake2bp(Buffer data = NULL);
Parametri di chiamata:
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac
Crea un operando della firma del digest del messaggio in base all'identificatore dell'algoritmo specificato.
1
2
3static Digest hash.hmac(Integer algo,
Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- algo: numero intero, specifica l'algoritmo dell'operazione digest
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_md5
Creare un operando della firma del digest del messaggio MD5
1
2static Digest hash.hmac_md5(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_sha1
Creare un operando della firma del digest del messaggio SHA1
1
2static Digest hash.hmac_sha1(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_sha224
Creare un operando della firma del digest del messaggio SHA224
1
2static Digest hash.hmac_sha224(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_sha256
Creare un operando della firma del digest del messaggio SHA256
1
2static Digest hash.hmac_sha256(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_sha384
Creare un operando della firma del digest del messaggio SHA384
1
2static Digest hash.hmac_sha384(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_sha512
Creare un operando della firma del digest del messaggio SHA512
1
2static Digest hash.hmac_sha512(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_ripemd160
Creare un oggetto operazione firma digest messaggio RIPEMD160
1
2static Digest hash.hmac_ripemd160(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_sm3
Creare un operando della firma del digest del messaggio SM3
1
2static Digest hash.hmac_sm3(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
Creare un oggetto operazione firma digest del messaggio SM3 ed eseguire la preelaborazione
1
2
3
4static Digest hash.hmac_sm3(PKey pubKey,
String id,
Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- pubKey:PKey, chiave pubblica della firma
- id: stringa, ID firma
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_sha3_256
Creare un operando della firma del digest del messaggio SHA3_256
1
2static Digest hash.hmac_sha3_256(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_sha3_384
Creare un operando della firma del digest del messaggio SHA3_384
1
2static Digest hash.hmac_sha3_384(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_shake128
Creare un oggetto operazione firma digest messaggio SHAKE128
1
2static Digest hash.hmac_shake128(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_shake256
Creare un oggetto operazione firma digest messaggio SHAKE256
1
2static Digest hash.hmac_shake256(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_sha3_512
Creare un operando della firma del digest del messaggio SHA3_512
1
2static Digest hash.hmac_sha3_512(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_keccak256
Creare un operando della firma del digest del messaggio KECCAK256
1
2static Digest hash.hmac_keccak256(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_keccak384
Creare un operando della firma del digest del messaggio KECCAK384
1
2static Digest hash.hmac_keccak384(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_keccak512
Creare un operando della firma del digest del messaggio KECCAK512
1
2static Digest hash.hmac_keccak512(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_blake2s
Creare un oggetto operazione firma digest messaggio BLAKE2S
1
2static Digest hash.hmac_blake2s(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_blake2b
Creare un oggetto operazione firma digest messaggio BLAKE2B
1
2static Digest hash.hmac_blake2b(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_blake2sp
Creare un oggetto operazione firma digest messaggio BLAKE2SP
1
2static Digest hash.hmac_blake2sp(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
hmac_blake2bp
Creare un oggetto operazione firma digest messaggio BLAKE2BP
1
2static Digest hash.hmac_blake2bp(Buffer key,
Buffer data = NULL);
Parametri di chiamata:
- key:Buffer, chiave di firma binaria
- data:Buffer, crea dati binari che vengono aggiornati contemporaneamente. Il valore predefinito è null e i dati non vengono aggiornati.
Risultati restituiti:
- Digest, restituisce l'oggetto di riepilogo delle informazioni costruito
costante
MD5
Costante di identificazione dell'algoritmo di digest del messaggio MD5
1const hash.MD5 = 1;
SHA1
Costante di identificazione dell'algoritmo digest del messaggio SHA1
1const hash.SHA1 = 2;
SHA224
Costante di identificazione dell'algoritmo digest del messaggio SHA224
1const hash.SHA224 = 3;
SHA256
Costante di identificazione dell'algoritmo digest del messaggio SHA256
1const hash.SHA256 = 4;
SHA384
Costante di identificazione dell'algoritmo digest del messaggio SHA384
1const hash.SHA384 = 5;
SHA512
Costante di identificazione dell'algoritmo digest del messaggio SHA512
1const hash.SHA512 = 6;
RIPEMD160
RIPEMD160 Costante di identificazione dell'algoritmo di digest delle informazioni
1const hash.RIPEMD160 = 7;
SM3
Costanti di identificazione dell'algoritmo di digest del messaggio SM3
1const hash.SM3 = 8;
SHA3_256
Costante di identificazione dell'algoritmo digest del messaggio SHA3_256
1const hash.SHA3_256 = 9;
SHA3_384
Costante di identificazione dell'algoritmo digest del messaggio SHA3_384
1const hash.SHA3_384 = 10;
SHA3_512
Costante di identificazione dell'algoritmo digest del messaggio SHA3_512
1const hash.SHA3_512 = 11;
SHAKE128
Costante di identificazione dell'algoritmo digest del messaggio SHAKE128
1const hash.SHAKE128 = 12;
SHAKE256
Costante di identificazione dell'algoritmo digest del messaggio SHAKE256
1const hash.SHAKE256 = 13;
KECCAK256
KECCAK256 Costante di identificazione dell'algoritmo di digest delle informazioni
1const hash.KECCAK256 = 14;
KECCAK384
KECCAK384 Costante di identificazione dell'algoritmo di digest delle informazioni
1const hash.KECCAK384 = 15;
KECCAK512
KECCAK512 Costante di identificazione dell'algoritmo di digest delle informazioni
1const hash.KECCAK512 = 16;
BLAKE2S
Costanti di identificazione dell'algoritmo di digest del messaggio BLAKE2S
1const hash.BLAKE2S = 17;
BLAKE2B
Costanti di identificazione dell'algoritmo di digest del messaggio BLAKE2B
1const hash.BLAKE2B = 18;
BLAKE2SP
Costanti di identificazione dell'algoritmo di digest del messaggio BLAKE2SP
1const hash.BLAKE2SP = 19;
BLAKE2BP
Costante di identificazione dell'algoritmo di digest del messaggio BLAKE2BP
1const hash.BLAKE2BP = 20;