Modulul crypto încorporat al Node.js oferă funcții criptografice: hashing, criptare, valori aleatoare și HMAC. Cea mai importantă utilizare practică — hashing-ul parolelor — are o regulă critică: nu folosi niciodată hash-uri rapide și generice (MD5/SHA-256) pentru parole.
Hashing-ul parolelor: folosește un algoritm LENT, cu salt
{ scrypt, randomBytes, timingSafeEqual } ;
{ promisify } ;
scryptAsync = (scrypt);
() {
salt = ().();
derived = (password, salt, );
;
}
() {
[salt, hash] = stored.();
derived = (password, salt, );
hashBuf = .(hash, );
(hashBuf, derived);
}
