Безплатен конвертор

Bcrypt парола Генератор

Генерирайте незабавно защитени bcrypt хешове на пароли във вашия браузър. Изберете своя разходен фактор и хеширайте паролите от страна на клиента — напълно лично и безплатно.

За този инструмент

bcrypt е функция за хеширане на пароли, проектирана от Niels Provos и David Mazières през 1999 г., извлечена от шифъра Blowfish. За разлика от функциите за хеширане с общо предназначение като SHA-256, bcrypt е умишлено бавен - и конфигурируемо бавен, чрез параметър на разходите - което е точно свойството, от което се нуждае един хешър на пароли. По-бърза хеш функция позволява на атакуващите да форсират повече кандидати в секунда; по-бавният ги ограничава.

bcrypt също така автоматично включва сол за всяка парола, елиминирайки цял клас атаки, базирани на предварително изчислени дъгови таблици. Параметърът сол и цена се съхраняват като част от изхода на bcrypt, така че проверката се нуждае само от съхранения хеш и кандидат паролата — без отделно управление на солта. Тази комбинация от бавност, сол и самостоятелен формат направи bcrypt хаша на паролата по подразбиране в продължение на две десетилетия и силен избор днес.

Съществуват модерни алтернативи. Argon2 спечели състезанието за хеширане на пароли за 2015 г. и предлага устойчивост на паметта в допълнение към устойчивостта на времето. scrypt предлага подобни свойства. За нови дизайни Argon2id е препоръчителният избор. bcrypt остава приемлив и широко разпространен, особено в среди, където Argon2 не е наличен.

Защо да хеширате пароли с bcrypt

Съхраняването на пароли като обикновен текст е злоупотреба. Съхраняването им с бърз хеш като SHA-256 е малко по-добро — съвременните графични процесори изчисляват милиарди хешове SHA-256 в секунда, което прави атаките с груба сила срещу всяка обща парола осъществими за часове. Умишлената бавност на bcrypt измества икономиката: при коефициент на цена 12, атакуващият прекарва приблизително 250 ms на кандидат парола, което прави грубата сила непрактична за всяка нетривиална парола.

Автоматичната сол за всяка парола на bcrypt също побеждава атаките на таблицата на дъгата. Двама потребители с една и съща парола произвеждат различни bcrypt хешове, защото техните соли се различават. Компрометирането на базата данни с пароли не позволява на атакуващия бързо да идентифицира общи пароли или попадения в предварително изчислена таблица.

Как да използвате

Въведете парола, изберете цена, вземете хеша.

  1. Въведете паролата: Въведете паролата за хеширане. Инструментът работи изцяло във вашия браузър; паролата не се предава никъде.
  2. Изберете фактор на разходите: По подразбиране е 10, което осигурява приблизително 100 ms време за хеширане на модерен хардуер. 12 се препоръчва за нови приложения (250 ms). По-високите стойности повишават сигурността с цената на по-бавна проверка.
  3. Генерирай: Хешерът генерира произволна 16-байтова сол, изпълнява извличането на bcrypt ключ и произвежда хеш в стандартен формат $2b$.
  4. Използвайте хеша: Съхранявайте пълния резултат ($2b$cost$saltAndHash) във вашата база данни с пароли. Проверката използва същата библиотека за сравняване на кандидат със съхранения хеш.

Обичайни случаи на употреба

Технически подробности

bcrypt използва модифицирана фаза на настройка на ключ на Blowfish шифър, повторена 2^cost пъти. Коефициентът на разходите е логаритмичен — цена 12 е два пъти по-бавна от цена 11, четири пъти по-бавна от цена 10. Това логаритмично мащабиране позволява на администраторите да увеличават разходите с течение на времето с подобряването на хардуера, без да препроектират системата.

Изходният формат е $version$cost$saltAndHash, където saltAndHash е base64-кодиран с персонализирана азбука. Версията обикновено е $2b$ (модерният вариант с коригиран бъг с обгръщане) или $2y$ (специфична за PHP, еквивалент). Солта е 16 байта; хешът е 24 байта; заедно те кодират до 53 символа на custom-base64.

Максималната дължина на входа е 72 байта (ограничение за дължина на ключа Blowfish). По-дългите пароли се съкращават тихо, което е дългогодишна странност на bcrypt. Най-добрата практика е или да ограничите дължината на паролата до 72 байта, или предварително да хеширате с SHA-256, за да нормализирате дължината преди bcrypt.

Най-добри практики

Често задавани въпроси

Мога ли да персонализирам генерирания изход?
да Инструментът предоставя различни опции за персонализиране, за да приспособите изхода към вашите специфични нужди. Коригирайте настройките преди генериране или регенерирайте с различни опции.
Безплатно ли е за използване генерираното съдържание?
да Всичко, което генерирате с този инструмент, е ваше за използване за лични, образователни или търговски цели без никакви ограничения или изисквания за приписване.
Това изисква ли акаунт?
Не. Инструментът е готов за използване веднага без регистрация, имейл и регистрация. Просто отворете страницата и започнете да генерирате.
Моите входни данни пазят ли се поверителни?
да Цялата обработка се извършва във вашия браузър. Вашите входни данни и генериран изход никога не се изпращат до външен сървър.
Трябва ли да добавя собствена сол?
Не. bcrypt генерира и съхранява произволна сол автоматично. Добавянето на собствена сол е ненужно и може да причини фини грешки. Използвайте генерирането на сол по подразбиране на библиотеката.
Изпраща ли се паролата до сървър?
Не. Хеширането на bcrypt се случва във вашия браузър. Паролата никога не напуска вашето устройство.
Защо има $2a$, $2b$, $2y$ варианти?
$2a$ е оригиналът. $2b$ поправя всеобхватна грешка, открита през 2014 г. $2y$ е специфичен за PHP, функционално еквивалентен на $2b$. Новите системи трябва да произвеждат $2b$ хешове.
Мога ли да понижа хеш с висока цена до по-ниска?
Не. Хешът включва цената като част от изхода и проверката изисква същата цена. За да промените цената, повторете хеширането при следващото успешно влизане.