Декодер хешей паролей

Хеши паролей хранят учётные данные безопасно, используя односторонние функции с солями и настраиваемыми факторами работы. Этот инструмент автоматически определяет и разбирает хеши в форматах Modular Crypt Format (MCF), PHC String Format и схемах LDAP, отображая алгоритм, параметры, соль, выходные данные хеша и оценку безопасности.

Спецификации

Типичные сценарии использования

  • Определение алгоритма хеширования, используемого базой данных для паролей
  • Аудит безопасности хешей паролей при тестировании на проникновение или обзорах безопасности
  • Проверка соответствия факторов стоимости bcrypt и параметров Argon2 рекомендациям OWASP
  • Понимание схем хранения паролей в каталогах LDAP
  • Отладка проблем аутентификации путём инспекции формата и параметров хеша

Возможности

  • Автоопределение форматов MCF ($1$, $2b$, $5$, $6$, $sha1$, $apr1$), PHC ($argon2id$, $scrypt$, $pbkdf2$) и LDAP ({SSHA}, {SHA}, {MD5})
  • Отображение алгоритма, варианта, параметров (стоимость, раунды, память, параллелизм), соли и выходных данных хеша
  • Оценка безопасности: критический (MD5/без соли), слабый (SHA-1/низкая стоимость), умеренный (SHA-crypt), сильный (bcrypt 12+/argon2/scrypt)
  • Цветовые рекомендации по оценке безопасности
  • Отображение формата кодирования хеша (base64, hex и т.д.)
  • Разбор нескольких хешей из многострочного ввода
  • Отображение длины хеша в битах и формата кодирования
  • Ссылки на соответствующие спецификации для каждого алгоритма

Примеры

Хеш пароля bcrypt

Попробовать →

Хеш bcrypt с фактором стоимости 12 — рекомендуемый минимум для новых приложений.

$2b$12$LJ3m4ys3Lg2VBe5E5Ij25eNsaDl3JK8i3pg7jBepGQhWcqMpqXA4q

Хеш пароля Argon2id

Попробовать →

Argon2id с 64 МБ памяти, 3 итерациями и 4 потоками — текущая лучшая практика.

$argon2id$v=19$m=65536,t=3,p=4$c29tZXNhbHQ$RdescudvJCsgt3ub+b+daw

Советы

  • Фактор стоимости bcrypt 12+ рекомендован OWASP. Каждое увеличение удваивает время вычисления.
  • Argon2id — текущая лучшая практика. Он сочетает устойчивость к атакам по побочным каналам (argon2i) и устойчивость к GPU (argon2d).
  • LDAP {SSHA} — это SHA-1 с солью. Лучше, чем {SHA}, но всё ещё быстрый хеш. Мигрируйте на bcrypt или Argon2.
  • Вставьте результат хеширования пароля из панели Encode As для декодирования и проверки здесь.

Описание Декодер хешей паролей

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

Современные алгоритмы хеширования паролей намеренно медленные и требовательные к памяти для противодействия атакам перебором. bcrypt использует настраиваемый фактор стоимости, где каждое увеличение удваивает время вычисления. Argon2 (победитель конкурса Password Hashing Competition 2015) добавляет настраиваемое потребление памяти для противодействия атакам на GPU. scrypt также требует значительной памяти. Эти «медленные хеши» принципиально отличаются от быстрых хешей (MD5, SHA-256), которые разработаны для скорости и непригодны для хранения паролей.

Хеши паролей используют стандартизированные строковые форматы для переносимости. Modular Crypt Format (MCF) использует разделители $: $2b$12$... для bcrypt, $5$ для SHA-256-crypt, $6$ для SHA-512-crypt. PHC String Format (используемый Argon2) добавляет именованные параметры: $argon2id$v=19$m=65536,t=3,p=4$salt$hash. Системы LDAP используют префиксы схем: {SSHA}, {PBKDF2}.

Каждый хеш содержит соль — случайные данные, объединяемые с паролем перед хешированием для обеспечения того, чтобы одинаковые пароли давали разные хеши. Без соли злоумышленники могут использовать предварительно вычисленные радужные таблицы для мгновенного поиска хешей распространённых паролей. Соль хранится рядом с хешем (она не является секретом) и генерируется случайным образом для каждого пароля.

Для новых приложений Argon2id является текущей лучшей практикой по рекомендации OWASP. Если Argon2 недоступен в вашем фреймворке, bcrypt с фактором стоимости 12+ — следующий лучший выбор, и scrypt также приемлем. MD5, SHA-1 и простой SHA-256 никогда не должны использоваться для паролей — они слишком быстрые и могут быть взломаны перебором со скоростью миллиарды попыток в секунду на современных GPU. MD5, в частности, был разработан как алгоритм быстрой контрольной суммы, а не для хранения паролей, и имеет известные уязвимости коллизий. Несолёные хеши MD5 также уязвимы для атак с радужными таблицами.

Фактор стоимости bcrypt (число после $2b$) является показателем степени, управляющим временем вычисления. Стоимость 10 означает 2^10 = 1024 итерации, тогда как стоимость 12 означает 2^12 = 4096 итераций — в четыре раза медленнее, чем стоимость 10. OWASP рекомендует стоимость 12 как минимум. Каждое увеличение удваивает время, поэтому повышение с 10 до 12 делает хеширование в 4 раза медленнее как для сервера, так и для любого злоумышленника.

Соль и перец выполняют разные роли в безопасности паролей. Соль — это случайные данные, хранящиеся рядом с хешем, уникальные для каждого пароля, обеспечивающие различные хеши для одинаковых паролей — соли не являются секретом. Перец — это секретный ключ, применяемый ко всем паролям (обычно через HMAC), хранящийся отдельно от базы данных в конфигурации приложения или аппаратном модуле безопасности. Если база данных скомпрометирована, но перец — нет, злоумышленник не сможет взломать хеши даже при наличии солей. Использование обоих обеспечивает эшелонированную защиту.

← Вернуться ко всем инструментам