Что такое Argon2?
Argon2 — это алгоритм хеширования паролей, разработанный так, чтобы сделать офлайн-взлом паролей дорогим. Он сочетает повторяющиеся вычисления с настраиваемой стоимостью памяти, поэтому атакующим нужны и время, и память для каждой попытки угадать пароль.
Почему Argon2id обычно выбирают по умолчанию:
- Для большинства систем хранения паролей он лучше балансирует устойчивость к атакам по сторонним каналам и взлому на GPU, чем использование Argon2i или Argon2d
- Закодированный вывод хранит алгоритм, версию, память, итерации, параллелизм, соль и хеш в одной переносимой строке
- Уникальная случайная соль не дает одинаковым паролям создавать одинаковые сохраненные хеши
- Настройки памяти и итераций можно повышать по мере ускорения вашей среды проверки
Как использовать этот инструмент:
- Введите пароль, который хотите хешировать.
- Оставьте сгенерированную соль или создайте новую случайную соль.
- Выберите вариант Argon2 и настройте память, итерации, параллелизм и длину хеша для системы, которая будет проверять хеш.
- Сгенерируйте закодированный хеш и сохраните всю эту строку в базе данных вашего приложения.
Примечания по безопасности:
- Не храните и не записывайте в журналы пароль в открытом виде.
- Используйте новую случайную соль для каждого пароля.
- Используйте необязательный секрет только если у вашего проверяющего компонента есть тот же секрет; иначе хеш нельзя будет проверить позже.
- Предпочитайте самые высокие настройки памяти и итераций, при которых задержка входа остается приемлемой для реальных пользователей.