Генератор ключа PBKDF2

Введите пароль и соль, выберите хеш, число итераций и длину ключа — и получите производный ключ в hex или Base64. Вычисляет встроенный в браузер Web Crypto, поэтому пароль не покидает страницу.

Формат соли
Больше итераций — медленнее перебор. OWASP советует 600 000 для SHA-256, 210 000 для SHA-512 и 1 300 000 для SHA-1.
Вывод

Вычисляется…

Работает в браузере: всё, что вы вводите, никуда не отправляется.

Как пользоваться

  1. Введите пароль и соль. Кнопка «Случайная соль 16 байт» создаёт соль прямо в браузере и записывает её в hex.
  2. Выберите хеш, число итераций и длину ключа.
  3. Скопируйте производный ключ в hex или Base64. Строка под ним показывает, сколько заняло вычисление.

Как это работает

PBKDF2 строит ключ поблочно. Для блока i: U₁ = HMAC(пароль, соль ‖ INT(i)), U₂ = HMAC(пароль, U₁), … и так по числу итераций, а блок — U₁ ⊕ U₂ ⊕ … ⊕ Uₙ. Блоки склеиваются и обрезаются до нужной длины. Инструмент вызывает crypto.subtle.deriveBits с алгоритмом PBKDF2, то есть считает собственная реализация браузера. Число итераций можно вводить с пробелами: 600 000.

Пример

Тестовые векторы RFC 6070 (HMAC-SHA-1, пароль password, соль salt, 20 байт):

  • 1 итерация: 0c60c80f961f0e71f3a9b524af6012062fe037a6
  • 2 итерации: ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957
  • 4 096 итераций: 4b007901b765489abead49d926f721d065a429c1

С SHA-256, 1 итерацией и длиной 32 байта те же данные дают 120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b.

Советы

  • Храните вместе с ключом хеш, число итераций, соль и длину: без них ключ не проверить.
  • Со временем повышайте число итераций — техника становится быстрее; пересчитывайте хеш при следующем входе пользователя.
  • Не используйте один производный ключ для разных целей: получайте отдельные ключи с разной солью или через HKDF.

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

Что такое PBKDF2?

Password-Based Key Derivation Function 2 — функция получения ключа из пароля, описанная в RFC 8018. Она многократно применяет псевдослучайную функцию — обычно HMAC с хешем SHA — к паролю и соли, поэтому каждая попытка подбора стоит атакующему той же работы.

Сколько итераций ставить?

Столько, сколько система может позволить себе на каждый вход. Шпаргалка OWASP по хранению паролей советует 600 000 итераций для PBKDF2-HMAC-SHA-256, 210 000 для SHA-512 и 1 300 000 для SHA-1. Время под результатом поможет оценить нагрузку.

Зачем нужна соль?

Уникальная случайная соль для каждого пароля даёт одинаковым паролям разные ключи и обесценивает заранее посчитанные таблицы. Соль хранят рядом с хешем, секретной она быть не должна. Обычный размер — 16 случайных байт.

Какую длину ключа выбрать?

Естественный выбор — размер выхода хеша: 20 байт для SHA-1, 32 для SHA-256, 64 для SHA-512. Длиннее можно, но это лишние раунды, которые не усложняют подбор пароля.

PBKDF2 или что-то другое для паролей?

PBKDF2 поддерживается почти везде и одобрен FIPS. Функции с большим расходом памяти — Argon2id и scrypt — лучше противостоят перебору на видеокартах и предпочтительнее, если доступны; распространён и bcrypt.

Ещё в разделе «Разработчикам»

Все инструменты раздела: Разработчикам ·Обновлено 4 ноября 2026 г.

Настройки конфиденциальности

Google Analytics показывает нам, какими инструментами пользуются и работают ли они. Он может ставить cookie. Ваш выбор сохраняется в этом браузере.