Как правильно хешировать пароли в Node.js?

Middle
391 просмотров
AFK Offer AI

bcrypt: await bcrypt.hash(password, 12) — число раундов (cost factor). 12 — хороший баланс безопасности и скорости (~300ms). Проверка: await bcrypt.compare(inputPassword, hashedPassword). Никогда не используй MD5/SHA1/SHA256 без соли для паролей — они слишком быстрые. argon2 — современная альтернатива bcrypt, победитель Password Hashing Competition: argon2.hash(password), argon2.verify(hash, password). scrypt (встроенный в Node.js crypto): crypto.scrypt(). Всегда используй async версии — sync блокирует event loop.

Следующий вопрос

Что такое Non-blocking I/O и как это работает в Node.js?