Хеші/крипто
PBKDF2 Hash + Verify
Похідний ключ через PBKDF2 (RFC 8018) з паролем, HMAC-SHA1/256/384/512 і налаштовуваною кількістю ітерацій.
PBKDF2 (RFC 8018) багаторазово застосовує HMAC до пароля й солі, щоб штучно уповільнити обчислення — це найстаріший зі стандартизованих алгоритмів для хешування паролів і виведення ключів шифрування.
Як користуватися
- Отримання ключа: введіть пароль, оберіть алгоритм HMAC (SHA-1/256/384/512) і кількість ітерацій — отримаєте похідний ключ заданої довжини.
- Перевірка: вставте пароль і наявний PBKDF2-хеш, щоб перевірити відповідність без ручного повторного обчислення.
- Що більше ітерацій, то повільніше й безпечніше обчислення — підбирайте значення під бюджет часу відповіді сервера.
Типові сценарії
- Виведення ключа шифрування з пароля користувача для файлових контейнерів чи власного протоколу.
- Перевірка сумісності реалізації PBKDF2 між різними мовами програмування (параметри мають точно збігатися).
- Хешування паролів у системах, де вимагається FIPS-сумісний алгоритм (PBKDF2 схвалений NIST).
Що варто памʼятати
На відміну від bcrypt і Argon2, PBKDF2 не є memory-hard — вимагає лише часу процесора, тому менш стійкий до атак на GPU з великою кількістю паралельних обчислювальних одиниць.
Рекомендована кількість ітерацій зростає з часом за рекомендаціями NIST і OWASP у міру пришвидшення обладнання — варто періодично звіряти з актуальними рекомендаціями.
Стаття про цей інструмент: PBKDF2: найстаріший стандарт розтягування ключів
Часті запитання
Чим PBKDF2 відрізняється від bcrypt чи Argon2 для хешування паролів?
PBKDF2 багаторазово застосовує HMAC-хеш-функцію, щоб уповільнити перебір, але, на відміну від bcrypt чи Argon2, не є пам'яттю-залежним, тому його відносно дешевше зламати на GPU. Він і досі широко використовується та схвалений FIPS, але для нових систем зазвичай радять Argon2.
За що відповідає кількість ітерацій і якою вона має бути?
Кількість ітерацій задає, скільки разів застосовується базова хеш-функція, напряму обмінюючи швидкість на стійкість до перебору. Поточні рекомендації — сотні тисяч ітерацій для SHA-256, зі збільшенням з часом у міру пришвидшення апаратного забезпечення.
Навіщо PBKDF2 потрібна сіль?
Сіль гарантує, що однакові паролі дають різний результат, не дозволяючи зловмисникам використовувати заздалегідь обчислені райдужні таблиці й змушуючи атакувати кожен хеш окремо.
Чи має значення, яку базову хеш-функцію використовує PBKDF2?
Так. Старі реалізації часто використовували HMAC-SHA1 за замовчуванням — у конструкції HMAC це не критична вразливість, але сучасні рекомендації однозначно радять HMAC-SHA256 чи сильніший заради більшого запасу міцності без відчутної втрати швидкості.
Де ще використовується PBKDF2, крім зберігання паролів?
PBKDF2 широко застосовують для виведення криптографічних ключів шифрування з паролів — наприклад, у WPA2/WPA3 для Wi-Fi та в багатьох форматах шифрованих файлових контейнерів.