Перейти к содержанию

Генератор Bcrypt

Хешируйте пароли с помощью bcrypt или проверяйте пароль по существующему хешу bcrypt.

Входные данные
Выходные данные

Генератор Bcrypt

Bcrypt — это функция хеширования паролей, созданная так, чтобы быть медленной и «солированной», поэтому это правильный инструмент для хранения паролей пользователей и неправильный для шифрования сообщений, которые вы планируете прочитать. Этот генератор выполняет две задачи. В режиме хеширования он принимает пароль и возвращает хэш bcrypt, например $2b$10$… который вы можете сохранить в базе данных. В режиме проверки он принимает пароль плюс существующий хэш и сообщает вам, совпадают ли они, что и делает проверка входа на сервер.

Стоимость или раунды определяют, сколько работы занимает каждый хэш: каждый дополнительный раунд удваивает время. Более высокая стоимость делает офлайн-угадывание медленнее для злоумышленника, но также замедляет каждый хеш для вас, поэтому выбирайте значение, которое ваше оборудование может себе позволить при каждом входе в систему. Этот инструмент позволяет от 4 до 12; значение по умолчанию, равное 10, является распространенным производственным выбором. Поскольку здесь bcrypt полностью работает в вашем браузере, высокая стоимость может стать заметным моментом на телефоне — это алгоритм, работающий должным образом, а не зависание.

Каждый хэш содержит свою собственную случайную соль, сгенерированную с помощью криптографически безопасного случайного источника браузера, поэтому хеширование одного и того же пароля дважды дает два разных хеша, и оба все равно проверяются. Именно эта соль побеждает заранее вычисленные радужные таблицы. Обратите внимание, что bcrypt считывает только первые 72 байта пароля.

Bcrypt является односторонним: «расшифровки» не существует. Вы можете проверить потенциальный пароль только по сохраненному хэшу, но никогда не восстанавливать из него оригинал. Все происходит локально в вашем браузере — вводимый вами пароль никогда не загружается, не регистрируется и никуда не отправляется, поэтому здесь безопасно проверять настоящие пароли.

FAQ

Является ли bcrypt обратимым — могу ли я получить пароль обратно из хеша?
Нет. Bcrypt — это функция одностороннего хеширования, а не шифрования. Не существует этапа расшифровки и ключа, который превращает хеш обратно в пароль. Все, что вы можете сделать, это взять кандидатский пароль и проверить, создает ли он этот хеш, как и работает проверка входа в систему.
Какова стоимость или настройка раундов?
Это фактор работы. Каждый дополнительный раунд удваивает время, затрачиваемое bcrypt, поэтому стоимость 12 в четыре раза медленнее, чем стоимость 10. Чем выше, тем сложнее злоумышленнику перебор, но медленнее при каждом входе в систему. Десять — обычное значение по умолчанию; этот инструмент ограничивает его значением 12, поэтому один хэш быстро остается в браузере.
Почему один и тот же пароль каждый раз создает другой хэш?
Каждый хэш включает в себя новую случайную соль, поэтому одинаковые пароли по-прежнему хешируются в разных строках. Это сделано намеренно — это не позволяет злоумышленникам обнаружить повторно используемые пароли или использовать заранее рассчитанные радужные таблицы. Оба хэша правильно проверяются на соответствие исходному паролю.
Должен ли я использовать bcrypt для шифрования текста или файлов?
Нет. Bcrypt предназначен только для хеширования и проверки паролей. Его невозможно расшифровать, поэтому он не может защитить сообщение, которое вам нужно прочитать. Для этого используйте правильный шифр, например AES.
Мой пароль где-нибудь загружен?
Нет. И хеширование, и проверка выполняются полностью в вашем браузере с использованием встроенной криптографии. Вводимый вами пароль никогда не отправляется на сервер, не сохраняется и не протоколируется, поэтому здесь можно безопасно проверить настоящий пароль.