Toolonit
  1. Главная
  2. Шифрование
  3. Argon2

Генератор и проверка хешей Argon2

Хеширует и проверяет пароли с помощью Argon2id — современного стандарта хеширования паролей.

Хешировать пароль

Введите пароль — здесь появится его хеш.

Параметры

Вариант
Пресеты
Память

m=19456 в хеше (КиБ)

Итерации
Параллелизм

Полосы памяти. Здесь они выполняются одна за другой, а сервер может выполнять их параллельно. Параметр меняет хеш, поэтому задайте то же значение, что на сервере.

Длина хеша
Соль

16 новых случайных байт для каждого хеша.

Проверить пароль по хешу

Строка PHC: $argon2id$, $argon2i$ или $argon2d$. Параметры считываются из неё.

Введите пароль и хеш, чтобы проверить их.

Argon2 победил в конкурсе Password Hashing Competition и стандартизирован в RFC 9106. Он намеренно медленный и требует много памяти, из-за чего подбор паролей на GPU обходится дорого. Эта страница создаёт хеш Argon2 с выбранными вами параметрами — в виде строки PHC, которую хранят библиотеки для работы с паролями ($argon2id$v=19$m=…,t=…,p=…$salt$hash), и в виде «сырого» hex — и проверяет пароль по существующей строке PHC. Всё работает в браузере, поэтому пароль не покидает ваше устройство; бесплатно и без регистрации.

Как создать и проверить хеш Argon2

  1. Введите пароль. Хеш появляется прямо во время ввода вместе со временем, которое ушло на него на вашем устройстве.
  2. Выберите пресет или задайте память, число итераций и параллелизм, как на вашем сервере.
  3. Скопируйте строку PHC или «сырые» хеш и соль в hex.
  4. Чтобы проверить сохранённый хеш, вставьте его вместе с паролем в блок «Проверить пароль по хешу»: вы увидите «Совпадает» или «Не совпадает».

Возможности

  • Argon2id (по умолчанию), Argon2i и Argon2d, версия 19
  • Пресеты: минимум OWASP (19 МиБ, t=2, p=1), RFC 9106 с малым объёмом памяти (64 МиБ, t=3, p=4) и «Высокий» (256 МиБ, t=3, p=4)
  • Память от 1 МиБ до 1 ГиБ, итерации 1–16, параллелизм 1–16, длина хеша 4–128 байт
  • Случайная 16-байтовая соль или своя — в виде текста, hex или Base64 (8–1024 байта)
  • Строка PHC, а также «сырые» хеш и соль в hex — у каждого значения своя кнопка «Копировать»
  • Проверка строк $argon2id$, $argon2i$ и $argon2d$ (v=19 или v=16) с чтением параметров из самого хеша

Это конфиденциально?

Да. Argon2 работает в браузере на WebAssembly в фоновом потоке, а соль создаёт безопасный генератор случайных чисел браузера. Пароль никуда не загружается и не сохраняется.

Частые вопросы

Argon2id, Argon2i или Argon2d?

Используйте Argon2id. Для паролей его рекомендуют и RFC 9106, и OWASP: он сочетает устойчивость Argon2i к атакам по сторонним каналам с устойчивостью Argon2d к взлому на GPU. Другой вариант выбирайте только для совместимости с существующей системой.

Какие память, число итераций и параллелизм выбрать?

Минимум OWASP для Argon2id — 19 МиБ, 2 итерации, 1 поток. RFC 9106 при ограниченной памяти предлагает 64 МиБ, 3 итерации и 4 потока. Больше памяти — сильнее защита; увеличивайте её, пока один хеш не будет занимать столько времени, сколько ваш сервер может позволить себе на каждый вход.

Argon2 или bcrypt?

Для новой системы — Argon2id. Оба намеренно медленные, но Argon2 ещё и требует много памяти, из-за чего взлом на GPU обходится дорого, и у него нет ограничения на длину пароля в 72 байта. Bcrypt старше, поддерживается почти везде и по-прежнему остаётся разумным выбором там, где Argon2 недоступен.

Что такое строка PHC $argon2id$?

Так эталонная реализация Argon2 хранит хеш: вариант, версия (v=19), память в КиБ (m), число итераций (t), число потоков (p), затем соль и хеш в Base64 без дополнения. Строки, созданные здесь, посимвольно совпадают с тем, что записывает эталонная библиотека (libargon2) для тех же входных данных, и их принимает crypto_pwhash_str_verify из libsodium (Argon2id и Argon2i с хешем от 16 байт).

Почему нельзя использовать больше 1 ГиБ памяти?

Хеш вычисляется внутри вкладки браузера, где память WebAssembly ограничена: одно выделение не может достичь 2 ГиБ, а телефоны часто отказывают и при гораздо меньшем объёме. Поэтому страница останавливается на 1 ГиБ, и хеши, которым нужно больше (например, вариант RFC 9106 с 2 ГиБ), здесь нельзя ни создать, ни проверить.

Похожие инструменты