Il modulo crypto integrato di Node fornisce funzioni crittografiche: hashing, crittografia, valori casuali e HMAC. L'uso pratico più importante — password hashing — ha una regola critica: non usare mai hash veloci e generici (MD5/SHA-256) per le password.
Password hashing: usare un algoritmo LENTO e salato
{ scrypt, randomBytes, timingSafeEqual } ;
{ promisify } ;
scryptAsync = (scrypt);
() {
salt = ().();
derived = (password, salt, );
;
}
() {
[salt, hash] = stored.();
derived = (password, salt, );
hashBuf = .(hash, );
(hashBuf, derived);
}
