# Генератор Bcrypt

Створює хеш пароля bcrypt із випадковою 16-байтовою сіллю та коефіцієнтом вартості від 4 до 12. Інструмент повертає стандартний модульний криптографічний рядок, що починається з $2a$, який приймають PHP password_verify, Node.js bcrypt, Spring Security і більшість фреймворків. Використовуйте його для створення тестових користувачів, скидання пароля адміністратора в базі даних або перевірки власного коду хешування. Пароль ніколи не відображається у відповіді й не зберігається.

## Поширені запитання

### Що таке bcrypt?

Bcrypt — це функція хешування паролів із 1999, заснована на шифрі Blowfish. Вона поєднує випадкову сіль із налаштовуваною вартістю, тому кожен наступний рівень вартості подвоює обсяг роботи, потрібної зловмиснику для кожної спроби. Ця функція й досі широко підтримується для зберігання паролів.

### Що означає вихідний рядок?

Хеш на зразок $2a$10$, за яким ідуть 53 символи, містить версію 2a, вартість 10, 22-символьну сіль і 31-символьний хеш — усі в алфавіті Base64, властивому bcrypt. Зберігайте весь рядок, оскільки під час перевірки з нього зчитуються сіль і вартість.

### Який коефіцієнт вартості вибрати?

Інструмент дозволяє вибрати вартість від 4 до 12 і за замовчуванням використовує 10 — поширене значення у фреймворках. Кожен рівень подвоює час, тому обчислення з вартістю 12 триває приблизно вчетверо довше, ніж із вартістю 10. У робочому середовищі виберіть найвищу вартість, яку сервери можуть обробити приблизно за 100–250 мілісекунд.

### Чому вартість обмежено значенням 12?

За вищих значень обчислення одного хешу триває секунди, тож один запит надовго займатиме сервер. Вартість 12 вже забезпечує надійний захист для більшості програм, а за потреби ви можете перехешувати паролі із вищою вартістю у власному середовищі.

### Чому для того самого пароля щоразу створюється інший хеш?

Для кожного хешу інструмент генерує нову випадкову 16-байтову сіль. Через різні солі рядки відрізняються, але всі вони проходять перевірку для того самого пароля. Це не дає зловмисникам використовувати заздалегідь обчислені таблиці.

### Чи є обмеження на довжину пароля?

Так. Bcrypt використовує лише перші 72 байти пароля, тому інструмент відхиляє довші паролі замість того, щоб мовчки ігнорувати решту. Не-ASCII символи займають по кілька байтів у UTF-8.

### Чи приймуть PHP або Laravel хеш $2a$?

Так. PHP password_verify, Laravel, Symfony і плагіни WordPress, що використовують password_hash, приймають хеші $2a$, $2b$ і $2y$; вони відрізняються лише виправленнями історичних помилок. Node.js bcrypt, bcryptjs, Python bcrypt і Spring Security також приймають $2a$.

### Чи зберігається або реєструється мій пароль?

Ні. Пароль використовується лише для обчислення хешу під час запиту. Його видаляють із відповіді й ніколи не записують у журнали чи сховище.

### Що вибрати: bcrypt чи Argon2?

OWASP рекомендує новіший Argon2id, оскільки він потребує багато пам’яті, що підвищує вартість атак із використанням GPU. bcrypt також залишається прийнятним і має дуже широку підтримку в бібліотеках, тож це надійний вибір, якщо Argon2 недоступний.

### Як перевірити пароль за хешем bcrypt?

Скористайтеся Bcrypt Verifier на цьому сайті або викличте функцію verify у вашому фреймворку. Ніколи не порівнюйте рядки bcrypt безпосередньо, адже новий хеш того самого пароля завжди відрізняється.

Ваша реклама тут?

[Напишіть нам електронною поштою](mailto:hi@dennn.is?subject=%D0%A0%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0%20%D0%BD%D0%B0%20OneClick%20Pro)

[Реклама Набір плагінів для роботи з агентами для WordPress.](https://sleekwp.com/?ref=oneclickpro)
