Встроенный модуль Node.js crypto предоставляет криптографические функции: хеширование, шифрование, генерацию случайных значений и HMAC. Наиболее важное практическое применение — хеширование паролей — имеет критическое правило: никогда не используйте быстрые, универсальные хеши (MD5/SHA-256) для паролей.
Хеширование паролей: используйте МЕДЛЕННЫЙ алгоритм с солью
{ scrypt, randomBytes, timingSafeEqual } ;
{ promisify } ;
scryptAsync = (scrypt);
() {
salt = ().();
derived = (password, salt, );
;
}
() {
[salt, hash] = stored.();
derived = (password, salt, );
hashBuf = .(hash, );
(hashBuf, derived);
}
