Bcrypt е функция за хеширане на пароли, проектирана да бъде бавна и изчислително скъпа, което я прави устойчива на атаки с груба сила. Тя е индустриалният стандарт за сигурно съхранение на пароли.
Как Работи Bcrypt
Bcrypt използва шифъра Blowfish със сол и фактор за цена. Факторът за цена (рундове) определя колко итерации извършва алгоритъма - всяко увеличение удвоява времето за изчисление, правейки атаките експоненциално по-трудни.
Защо да Използвате Bcrypt?
За разлика от MD5/SHA, които са бързи (лошо за пароли), bcrypt е умишлено бавен. Това прави атаките с груба сила непрактични. Цена от 10 означава 2^10 (1,024) итерации, отнемащи ~100ms за хеширане - незначително за вход, но опустошително за нападатели, опитващи милиарди пароли.
Най-добри Практики за Сигурност
Използвайте цена 10-12 за повечето приложения. Цена 10 е текущият препоръчителен минимум. Никога не използвайте MD5 или SHA-1 за пароли - те са компрометирани. Никога не съхранявайте пароли в обикновен текст. Винаги използвайте bcrypt, Argon2 или scrypt за хеширане на пароли.