Le module crypto intégré de Node fournit des fonctions cryptographiques : hachage, chiffrement, valeurs aléatoires et HMAC. L'utilisation pratique la plus importante — hachage des mots de passe — a une règle critique : n'utilisez jamais des hashes rapides et polyvalents (MD5/SHA-256) pour les mots de passe.
Hachage des mots de passe : utilisez un algorithme LENT et salé
{ scrypt, randomBytes, timingSafeEqual } ;
{ promisify } ;
scryptAsync = (scrypt);
() {
salt = ().();
derived = (password, salt, );
;
}
() {
[salt, hash] = stored.();
derived = (password, salt, );
hashBuf = .(hash, );
(hashBuf, derived);
}
