hachage du module
Le module de hachage est principalement utilisé pour implémenter des algorithmes de résumé de message et constitue un sous-module très important dans l'implémentation d'algorithmes de chiffrement. Dans le même temps, l’algorithme de résumé de message constitue également la base de nombreux algorithmes de chiffrement.
Avant d'utiliser hash
un sous-module, vous devez require('hash');
charger le module avec .
Dans hash
le module, il comprend principalement les classes suivantes Digest
, Hmac
. Parmi eux, Digest
la classe est utilisée pour calculer l'algorithme de résumé du message, et Hmac
la classe est utilisée pour calculer le message de hachage à clé.
Voici un exemple de code simple utilisant 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);
Dans l'exemple de code ci-dessus, nous initialisons d'abord hash.digest([hash.MD5](hash.md#MD5))
un Digest
objet avec MD5
le modèle en utilisant . Nous utilisons ensuite update()
la méthode pour ajouter les données requises pour le calcul du digest à l'objet Digest. Ensuite, nous utilisons digest()
la méthode pour calculer le résultat récapitulatif et renvoyer le codage spécifié par le paramètre (le codage hexadécimal est utilisé ici). Enfin, les résultats récapitulatifs calculés sont affichés.
En MD5
plus de , Digest
la classe prend également en charge d'autres algorithmes de synthèse, tels que SHA-1
, SHA-256
, SHA-512
etc. Lors de son utilisation, vous devez md5
modifier les paramètres en fonction de l'algorithme de résumé correspondant.
fonction statique
digest
Crée un opérande Information Digest basé sur l’identifiant d’algorithme spécifié.
1
2static Digest hash.digest(Integer algo,
Buffer data = NULL);
Paramètres d'appel :
- algo: Entier, spécifiez l'algorithme d'opération de résumé
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
md5
Créer un opérande de résumé de message MD5
1static Digest hash.md5(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
sha1
Créer un opérande de résumé de message SHA1
1static Digest hash.sha1(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
sha224
Créer un opérande de résumé de message SHA224
1static Digest hash.sha224(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
sha256
Créer un opérande de résumé de message SHA256
1static Digest hash.sha256(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
sha384
Créer un opérande de résumé de message SHA384
1static Digest hash.sha384(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
sha512
Créer un opérande de résumé de message SHA512
1static Digest hash.sha512(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
ripemd160
Créer un opérande de résumé de message RIPEMD160
1static Digest hash.ripemd160(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
sm3
Créer un opérande de résumé de message SM3
1static Digest hash.sm3(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
Créez un opérande de résumé de message SM3 et prétraitez-le
1
2
3static Digest hash.sm3(PKey pubKey,
String id,
Buffer data = NULL);
Paramètres d'appel :
- pubKey:PKey, clé publique de signature
- id: Chaîne, identifiant de signature
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
sha3_256
Créer un opérande de résumé de message SHA3_256
1static Digest hash.sha3_256(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
sha3_384
Créer un opérande de résumé de message SHA3_384
1static Digest hash.sha3_384(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
sha3_512
Créer un opérande de résumé de message SHA3_512
1static Digest hash.sha3_512(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
shake128
Créer un opérande de résumé de message SHAKE128
1static Digest hash.shake128(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
shake256
Créer un opérande de résumé de message SHAKE256
1static Digest hash.shake256(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
keccak256
Créer un opérande de résumé de message KECCAK256
1static Digest hash.keccak256(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
keccak384
Créer un opérande de résumé de message KECCAK384
1static Digest hash.keccak384(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
keccak512
Créer un opérande de résumé de message KECCAK512
1static Digest hash.keccak512(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
blake2s
Créer un opérande de résumé de message BLAKE2S
1static Digest hash.blake2s(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
blake2b
Créer un opérande de résumé de message BLAKE2B
1static Digest hash.blake2b(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
blake2sp
Créer un opérande de résumé de message BLAKE2SP
1static Digest hash.blake2sp(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
blake2bp
Créer un opérande de résumé de message BLAKE2BP
1static Digest hash.blake2bp(Buffer data = NULL);
Paramètres d'appel :
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac
Crée un opérande de signature de résumé de message basé sur l'identifiant d'algorithme spécifié.
1
2
3static Digest hash.hmac(Integer algo,
Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- algo: Entier, spécifiez l'algorithme d'opération de résumé
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_md5
Créer un opérande de signature de résumé de message MD5
1
2static Digest hash.hmac_md5(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_sha1
Créer un opérande de signature de résumé de message SHA1
1
2static Digest hash.hmac_sha1(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_sha224
Créer un opérande de signature de résumé de message SHA224
1
2static Digest hash.hmac_sha224(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_sha256
Créer un opérande de signature de résumé de message SHA256
1
2static Digest hash.hmac_sha256(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_sha384
Créer un opérande de signature de résumé de message SHA384
1
2static Digest hash.hmac_sha384(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_sha512
Créer un opérande de signature de résumé de message SHA512
1
2static Digest hash.hmac_sha512(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_ripemd160
Créer un objet d'opération de signature de résumé de message RIPEMD160
1
2static Digest hash.hmac_ripemd160(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_sm3
Créer un opérande de signature de résumé de message SM3
1
2static Digest hash.hmac_sm3(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
Créer un objet d'opération de signature de résumé de message SM3 et effectuer un prétraitement
1
2
3
4static Digest hash.hmac_sm3(PKey pubKey,
String id,
Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- pubKey:PKey, clé publique de signature
- id: Chaîne, identifiant de signature
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_sha3_256
Créer un opérande de signature de résumé de message SHA3_256
1
2static Digest hash.hmac_sha3_256(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_sha3_384
Créer un opérande de signature de résumé de message SHA3_384
1
2static Digest hash.hmac_sha3_384(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_shake128
Créer un objet d'opération de signature de résumé de message SHAKE128
1
2static Digest hash.hmac_shake128(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_shake256
Créer un objet d'opération de signature de résumé de message SHAKE256
1
2static Digest hash.hmac_shake256(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_sha3_512
Créer un opérande de signature de résumé de message SHA3_512
1
2static Digest hash.hmac_sha3_512(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_keccak256
Créer un opérande de signature de résumé de message KECCAK256
1
2static Digest hash.hmac_keccak256(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_keccak384
Créer un opérande de signature de résumé de message KECCAK384
1
2static Digest hash.hmac_keccak384(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_keccak512
Créer un opérande de signature de résumé de message KECCAK512
1
2static Digest hash.hmac_keccak512(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_blake2s
Créer un objet d'opération de signature de résumé de message BLAKE2S
1
2static Digest hash.hmac_blake2s(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_blake2b
Créer un objet d'opération de signature de résumé de message BLAKE2B
1
2static Digest hash.hmac_blake2b(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_blake2sp
Créer un objet d'opération de signature de résumé de message BLAKE2SP
1
2static Digest hash.hmac_blake2sp(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
hmac_blake2bp
Créer un objet d'opération de signature de résumé de message BLAKE2BP
1
2static Digest hash.hmac_blake2bp(Buffer key,
Buffer data = NULL);
Paramètres d'appel :
- key:Buffer, clé de signature binaire
- data:Buffer, créez des données binaires qui sont mises à jour en même temps. La valeur par défaut est null et les données ne sont pas mises à jour.
Résultats de retour :
- Digest, renvoie l'objet récapitulatif des informations construit
constante
MD5
Constante d'identification de l'algorithme de résumé de message MD5
1const hash.MD5 = 1;
SHA1
Constante d'identification de l'algorithme de résumé de message SHA1
1const hash.SHA1 = 2;
SHA224
Constante d'identification de l'algorithme de résumé de message SHA224
1const hash.SHA224 = 3;
SHA256
Constante d'identification de l'algorithme de résumé de message SHA256
1const hash.SHA256 = 4;
SHA384
Constante d'identification de l'algorithme de résumé de message SHA384
1const hash.SHA384 = 5;
SHA512
Constante d'identification de l'algorithme de résumé de message SHA512
1const hash.SHA512 = 6;
RIPEMD160
Constante d'identification de l'algorithme de synthèse d'informations RIPEMD160
1const hash.RIPEMD160 = 7;
SM3
Constantes d'identification de l'algorithme de résumé de message SM3
1const hash.SM3 = 8;
SHA3_256
Constante d'identification de l'algorithme de résumé de message SHA3_256
1const hash.SHA3_256 = 9;
SHA3_384
Constante d'identification de l'algorithme de résumé de message SHA3_384
1const hash.SHA3_384 = 10;
SHA3_512
Constante d'identification de l'algorithme de résumé de message SHA3_512
1const hash.SHA3_512 = 11;
SHAKE128
Constante d'identification de l'algorithme de résumé de message SHAKE128
1const hash.SHAKE128 = 12;
SHAKE256
Constante d'identification de l'algorithme de résumé de message SHAKE256
1const hash.SHAKE256 = 13;
KECCAK256
KECCCAK256 Constante d'identification de l'algorithme de résumé d'informations
1const hash.KECCAK256 = 14;
KECCAK384
KECCCAK384 Constante d'identification de l'algorithme de résumé d'informations
1const hash.KECCAK384 = 15;
KECCAK512
KECCCAK512 Constante d'identification de l'algorithme de résumé d'informations
1const hash.KECCAK512 = 16;
BLAKE2S
Constantes d'identification de l'algorithme de résumé de message BLAKE2S
1const hash.BLAKE2S = 17;
BLAKE2B
Constantes d'identification de l'algorithme de résumé de message BLAKE2B
1const hash.BLAKE2B = 18;
BLAKE2SP
Constantes d'identification de l'algorithme de résumé de message BLAKE2SP
1const hash.BLAKE2SP = 19;
BLAKE2BP
Constante d'identification de l'algorithme de résumé de message BLAKE2BP
1const hash.BLAKE2BP = 20;