O módulo crypto integrado do Node fornece funções criptográficas: hashing, encriptação, valores aleatórios e HMAC. O uso prático mais importante — hash de senhas — tem uma regra crítica: nunca use hashes rápidos e de propósito geral (MD5/SHA-256) para senhas.
Use um algoritmo LENTO e com salt
{ scrypt, randomBytes, timingSafeEqual } ;
{ promisify } ;
scryptAsync = (scrypt);
() {
salt = ().();
derived = (password, salt, );
;
}
() {
[salt, hash] = stored.();
derived = (password, salt, );
hashBuf = .(hash, );
(hashBuf, derived);
}
