Вывод ключей PBKDF2 и HKDF
Выведите ключ из пароля или секрета с помощью PBKDF2 или HKDF, выбрав соль, число итераций или метку info, хеш и длину вывода, и прочитайте его в hex или base64 — полностью в вашем браузере.
Вывод ключей PBKDF2 и HKDF — Растяните пароль в ключ PBKDF2 или разверните высокоэнтропийный секрет в именованные подключи с помощью HKDF — и ничто не покинет ваше устройство. Выберите хеш, задайте соль и число итераций (PBKDF2) или метку info (HKDF), укажите, сколько бит вывода вам нужно, и скопируйте выведенный ключ в hex или base64. Каждый байт вычисляется локально через нативный Web Crypto API (crypto.subtle.deriveBits), поэтому ваш пароль и секрет никогда не попадают на сервер.
Что такое Вывод ключей PBKDF2 и HKDF?
Вывод ключей PBKDF2 и HKDF — это бесплатный браузерный инструмент, который выполняет две функции вывода ключей, к которым разработчики обращаются чаще всего. PBKDF2 (Password-Based Key Derivation Function 2) намеренно замедляет перебор, повторяя HMAC многие тысячи раз, и превращает человеческий пароль вместе с солью в ключ фиксированной длины. HKDF (HMAC-based Key Derivation Function) берёт секрет, у которого уже достаточно энтропии, и разворачивает его в один или несколько привязанных к контексту подключей с помощью метки info, что идеально подходит для вывода отдельных ключей шифрования и аутентификации из одного мастер-секрета. Бэкенд-инженеры, специалисты по безопасности и все, кто пишет код входа или шифрования, используют его, чтобы проверить тестовые векторы, воспроизвести вывод сервера или сгенерировать ключи для разовой задачи. Используйте переключатель PBKDF2/HKDF для смены алгоритма, выберите SHA-256, SHA-384, SHA-512 или SHA-1, задайте длину вывода в битах и прочитайте результат в hex или base64.
Как пользоваться Вывод ключей PBKDF2 и HKDF
- Выберите PBKDF2 или HKDF переключателем вверху, в соответствии с функцией, которую использует ваш код или тестовый вектор.
- Введите или вставьте свой пароль (PBKDF2) либо высокоэнтропийный секрет (HKDF) в поле «Секрет», затем введите соль.
- Для PBKDF2 задайте число итераций; для HKDF задайте необязательную метку info, которая привязывает ключ к контексту.
- Выберите хеш (SHA-256, SHA-384, SHA-512 или SHA-1) и длину вывода в битах.
- Переключите тумблер hex / base64 на нужную кодировку и скопируйте выведенный ключ кнопкой копирования.
Примеры
PBKDF2 — 256-битный ключ из пароля
Ввод
Секрет: correct horse battery staple Соль: a1b2c3d4 Хеш: SHA-256, Итерации: 100000, Биты: 256
Вывод
hex-строка из 64 символов (32 байта), воспроизводимая при тех же пароле, соли, хеше и числе итераций
HKDF — привязанный к контексту подключ из мастер-секрета
Ввод
Секрет: 9f8e7d6c…(мастер-ключ) Соль: session-2024 Info: aes-gcm-encryption Хеш: SHA-256, Биты: 256
Вывод
256-битный ключ, отличный от того, что даёт тот же секрет с Info: hmac-authentication, поэтому один мастер порождает независимые подключи
Более короткий вывод в base64
Ввод
Биты: 128, кодировка переключена на base64
Вывод
base64-строка из 24 символов, кодирующая первые 16 выведенных байт
Часто задаваемые вопросы
- Отправляется ли мой пароль или секрет куда-либо?
- Нет. Секрет, соль и info остаются в вашем браузере. Ключ выводится локально через Web Crypto API (crypto.subtle.deriveBits), и ничто не загружается и не хранится на каком-либо сервере, поэтому инструмент работает офлайн, а ваши данные никогда не покидают страницу.
- Когда использовать PBKDF2, а когда HKDF?
- Используйте PBKDF2 для вывода ключа из низкоэнтропийного человеческого пароля — его число итераций замедляет перебор. Используйте HKDF, когда у вас уже есть высокоэнтропийный секрет (мастер-ключ или общий секрет) и вы хотите развернуть его в один или несколько отдельных подключей через метку info. HKDF быстр и не заменяет растягивание пароля PBKDF2.
- Почему длина вывода округляется?
- deriveBits в Web Crypto работает с целыми байтами, поэтому длина вывода в битах округляется до ближайшего кратного 8. Статистика под результатом показывает фактически полученные биты и байты.
- Какие хеши и алгоритмы поддерживаются?
- Оба алгоритма работают с SHA-256, SHA-384, SHA-512 или SHA-1 — хешами, которые Web Crypto браузера предоставляет для PBKDF2 и HKDF. Scrypt, Argon2 и bcrypt не предлагаются, потому что браузеры не реализуют их нативно.
- Всегда ли одни и те же входные данные дают один и тот же ключ?
- Да. Вывод ключей детерминирован: одни и те же алгоритм, секрет, соль, хеш, длина вывода и число итераций (PBKDF2) или info (HKDF) всегда дают одни и те же байты, поэтому вы можете использовать это для воспроизведения или проверки ключа, который вывел ваш сервер.
Похожие инструменты
Шифрование текста AES (AES-GCM + PBKDF2)
Шифруйте и расшифровывайте текст с помощью AES-256-GCM, используя ключ, полученный из парольной фразы (PBKDF2 SHA-256, случайная соль), полностью в вашем браузере и без загрузок.
Хеш Argon2 и scrypt
Хешируйте пароль с помощью Argon2id или scrypt и проверяйте хеш Argon2 на соответствие паролю — полностью в вашем браузере.
Генератор и проверщик bcrypt-хешей
Создавайте bcrypt-хеш пароля из открытого текста с выбранным фактором стоимости или проверяйте пароль по существующему bcrypt-хешу — полностью в вашем браузере.
Генератор мнемонических фраз BIP39
Сгенерируйте случайную фразу восстановления BIP39 из 12–24 слов на нескольких языках или преобразуйте существующую мнемоническую фразу обратно в её исходную энтропию — полностью в вашем браузере.