Bcrypt — це функція хешування паролів, розроблена для того, щоб бути повільною та обчислювально дорогою, що робить її стійкою до атак перебором. Це галузевий стандарт для безпечного зберігання паролів.
Як працює Bcrypt
Bcrypt використовує шифр Blowfish з сіллю та фактором вартості. Фактор вартості (раунди) визначає, скільки ітерацій виконує алгоритм — кожне збільшення подвоює час обчислення, роблячи атаки експоненціально складнішими.
Чому використовувати Bcrypt?
На відміну від MD5/SHA, які швидкі (погано для паролів), bcrypt навмисно повільний. Це робить атаки перебором непрактичними. Вартість 10 означає 2^10 (1024) ітерацій, що займає ~100мс для хешування — незначно для входу, але руйнівно для зловмисників, які пробують мільярди паролів.
Найкращі практики безпеки
Використовуйте вартість 10-12 для більшості додатків. Вартість 10 — поточний рекомендований мінімум. Ніколи не використовуйте MD5 або SHA-1 для паролів — вони зламані. Ніколи не зберігайте паролі у відкритому вигляді. Завжди використовуйте bcrypt, Argon2 або scrypt для хешування паролів.