Пароль Bcrypt Генератор
Миттєво генеруйте безпечні хеші паролів bcrypt у своєму браузері. Виберіть свій фактор вартості та хеш-паролі на стороні клієнта — повністю конфіденційно та безкоштовно.
Миттєво генеруйте безпечні хеші паролів bcrypt у своєму браузері. Виберіть свій фактор вартості та хеш-паролі на стороні клієнта — повністю конфіденційно та безкоштовно.
bcrypt — це функція хешування паролів, розроблена Нільсом Провосом і Девідом Мазьєром у 1999 році, похідна від шифру Blowfish. На відміну від хеш-функцій загального призначення, таких як SHA-256, bcrypt навмисно повільний — і повільний, який можна налаштувати за допомогою параметра вартості — це саме та властивість, яка потрібна хешувальнику паролів. Швидша хеш-функція дозволяє зловмисникам підбирати більше кандидатів за секунду; повільніший обмежує їх.
bcrypt також включає автоматичне сіль для кожного пароля, усуваючи цілий клас атак на основі попередньо обчислених веселкових таблиць. Параметри soli та cost зберігаються як частина вихідних даних bcrypt, тому для перевірки потрібні лише збережені хеш і потенційний пароль — без окремого керування солями. This combination of slowness, salt, and self-contained format made bcrypt the default password hash for two decades and a strong choice today.
Сучасні альтернативи існують. Argon2 переміг у конкурсі хешування паролів у 2015 році та пропонує стійкість до пам’яті на додаток до стійкості до часу. scrypt пропонує подібні властивості. Для нових конструкцій рекомендується Argon2id. bcrypt remains acceptable and widely deployed, particularly in environments where Argon2 is not available.
Зберігання паролів у вигляді відкритого тексту є помилкою. Зберігати їх за допомогою швидкого хешу, такого як SHA-256, трохи краще — сучасні графічні процесори обчислюють мільярди хешів SHA-256 за секунду, що робить атаки грубою силою на будь-який поширений пароль можливими за кілька годин. Навмисна повільність bcrypt змінює економіку: за коефіцієнта вартості 12 зловмисник витрачає приблизно 250 мс на потенційний пароль, що робить грубу силу непрактичною для будь-якого нетривіального пароля.
Автоматичний засіб bcrypt для кожного пароля також перемагає атаки веселкової таблиці. Два користувача з однаковим паролем створюють різні хеші bcrypt, оскільки їхні солі відрізняються. Компрометація бази даних паролів не дозволяє зловмиснику швидко ідентифікувати загальні паролі чи звернення до попередньо обчисленої таблиці.
Введіть пароль, виберіть вартість, отримайте хеш.
bcrypt використовує модифіковану фазу встановлення ключа шифру Blowfish, повторювану 2^ціною разів. Коефіцієнт вартості є логарифмічним — вартість 12 вдвічі повільніша за вартість 11, у чотири рази повільніша за вартість 10. Це логарифмічне масштабування дозволяє адміністраторам збільшувати вартість з часом у міру вдосконалення апаратного забезпечення без перепроектування системи.
Формат виводу: $version$cost$saltAndHash, де saltAndHash закодовано на базі 64 за допомогою спеціального алфавіту. Зазвичай версія $2b$ (сучасний варіант із виправленою помилкою обертання) або $2y$ (специфічна для PHP, еквівалент). Сіль становить 16 байт; хеш 24 байти; разом вони кодують 53 символи custom-base64.
Максимальна довжина вхідних даних становить 72 байти (обмеження довжини ключа Blowfish). Довші паролі мовчки скорочуються, що є давньою примхою bcrypt. Найкраще обмежити довжину пароля 72 байтами або попередньо хешувати за допомогою SHA-256, щоб нормалізувати довжину перед bcrypt.