El módulo crypto integrado de Node proporciona funciones criptográficas: hashing, cifrado, valores aleatorios y HMAC. El uso práctico más importante — el hashing de contraseñas — tiene una regla crítica: nunca uses hashes rápidos de propósito general (MD5/SHA-256) para contraseñas.
Hashing de contraseñas: usa un algoritmo LENTO y con sal
{ scrypt, randomBytes, timingSafeEqual } ;
{ promisify } ;
scryptAsync = (scrypt);
() {
salt = ().();
derived = (password, salt, );
;
}
() {
[salt, hash] = stored.();
derived = (password, salt, );
hashBuf = .(hash, );
(hashBuf, derived);
}
