Към съдържанието

Генератор на 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?

Argon2id е по-новата препоръка на OWASP, защото изисква много памет, което оскъпява GPU атаките. Bcrypt все още е подходящ и се поддържа от много библиотеки, така че е добър избор, когато Argon2 не е наличен.

Как да проверя парола спрямо bcrypt хеш?

Използвайте инструмента за проверка на Bcrypt в този сайт или извикайте функцията verify във вашата платформа. Никога не сравнявайте директно bcrypt низове, защото нов хеш на същата парола винаги изглежда различно.

За OneClick Pro

OneClick Pro е безплатна колекция от над 150 уеб инструмента за ежедневна работа: преобразуване на изображения и единици, форматиране и валидиране на код, проверка на домейни и SEO, както и работа с текст, дати и числа. Всеки инструмент работи без регистрация или абонамент, а въведеното от вас се използва само за изчисляване на резултата и никога не се съхранява. Използвайте го като бърз набор от инструменти за еднократни задачи или добавете в отметките инструментите, на които разчитате всеки ден.