Хеширование пароля Argon2

Генерируйте закодированные хеши паролей Argon2 в браузере с настраиваемыми алгоритмом, памятью, итерациями, параллелизмом, солью и необязательным секретом

Конфигурация
Создайте закодированный хеш пароля Argon2, не отправляя пароль, соль или секрет на сервер.

Оставьте поле пустым, если ваше приложение не проверяет хеши с тем же значением секрета.

Параметры
Настройте рабочую нагрузку для среды, которая будет проверять пароль.

Расчетная память: 64 MiB

Соль (Base64)
Используйте уникальную случайную соль для каждого пароля. Соль кодируется как Base64 и хранится внутри итоговой строки хеша Argon2.
Результат хеширования
Закодированный хеш Argon2 для текущего пароля и параметров.
Готово к хешированию
Введите пароль, оставьте или сгенерируйте соль, затем сгенерируйте закодированный хеш Argon2.

Что такое Argon2?

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

Почему Argon2id обычно выбирают по умолчанию:

  • Для большинства систем хранения паролей он лучше балансирует устойчивость к атакам по сторонним каналам и взлому на GPU, чем использование Argon2i или Argon2d
  • Закодированный вывод хранит алгоритм, версию, память, итерации, параллелизм, соль и хеш в одной переносимой строке
  • Уникальная случайная соль не дает одинаковым паролям создавать одинаковые сохраненные хеши
  • Настройки памяти и итераций можно повышать по мере ускорения вашей среды проверки

Как использовать этот инструмент:

  1. Введите пароль, который хотите хешировать.
  2. Оставьте сгенерированную соль или создайте новую случайную соль.
  3. Выберите вариант Argon2 и настройте память, итерации, параллелизм и длину хеша для системы, которая будет проверять хеш.
  4. Сгенерируйте закодированный хеш и сохраните всю эту строку в базе данных вашего приложения.

Примечания по безопасности:

  • Не храните и не записывайте в журналы пароль в открытом виде.
  • Используйте новую случайную соль для каждого пароля.
  • Используйте необязательный секрет только если у вашего проверяющего компонента есть тот же секрет; иначе хеш нельзя будет проверить позже.
  • Предпочитайте самые высокие настройки памяти и итераций, при которых задержка входа остается приемлемой для реальных пользователей.