# Генератор Argon2

Створіть хеш пароля Argon2id із випадковою сіллю розміром 16 байтів і виберіть обсяг пам’яті, кількість ітерацій, паралельність і довжину хешу. Обсяг пам’яті обмежено 64 MiB, а кількість ітерацій — 4; типові значення відповідають базовим рекомендаціям OWASP: 19 MiB і 2 проходи. Інструмент повертає стандартний рядок PHC, що починається з $argon2id$v=19$, який перевіряють PHP, libsodium і бібліотеки argon2. Пароль ніколи не відображається.

## Поширені запитання

### Що таке Argon2id?

Argon2 переміг у конкурсі Password Hashing Competition у 2015, а його специфікацію наведено в RFC 9106. Argon2id — це гібридний варіант, стійкий до атак через побічні канали та атак із використанням GPU. OWASP і RFC рекомендують його для зберігання паролів.

### Що означають налаштування пам’яті, ітерацій і паралельності?

Пам’ять визначає, скільки MiB виділяється для кожного хешу, ітерації — скільки проходів виконується над цією пам’яттю, а паралельність — кількість потоків. Більші обсяг пам’яті та кількість ітерацій підвищують вартість кожної спроби для зловмисників. Тут обсяг пам’яті можна вибрати від 1 до 64 MiB, кількість ітерацій — від 1 до 4, а паралельність — від 1 до 4.

### Які налаштування вибрати?

Типові значення — 19 MiB, 2 ітерації та 1 потік; це мінімум OWASP для Argon2id. За замовчуванням PHP використовує 64 MiB і 4 ітерації — ці значення також можна відтворити тут. У робочому середовищі використовуйте для кожного входу стільки пам’яті, скільки можуть виділити ваші сервери.

### Чому обсяг пам’яті й кількість ітерацій обмежені?

Кожен хеш справді виділяє запитаний обсяг пам’яті та виконує всі проходи на спільному сервері. Обмеження у 64 MiB і 4 ітерації дає змогу обробляти кожен запит за частки секунди, водночас підтримуючи поширені налаштування для робочого середовища.

### Що містить вихідний рядок?

У результаті, наприклад $argon2id$v=19$m=19456,t=2,p=1$, за яким ідуть сіль і хеш, зазначено варіант, версію, обсяг пам’яті в KiB, кількість ітерацій і потоків. Сіль і хеш записано у форматі Base64 без доповнення. Зберігайте весь рядок, адже під час перевірки з нього зчитуються всі параметри.

### Чому хеш щоразу відрізняється?

У кожному запиті використовується нова випадкова сіль розміром 16 байтів, тому той самий пароль щоразу створює інший рядок. Усі такі рядки правильно проходять перевірку з відповідним паролем.

### Чи можна вибрати довжину хешу?

Так, від 16 до 64 байтів; типове значення — 32 байти. Довші теги не ускладнюють підбір, тож для зберігання паролів достатньо 32 байтів.

### Які системи приймають ці хеші?

PHP, crypto_pwhash_str_verify з libsodium, пакет argon2 для Node.js, argon2-cffi для Python і Spring Security читають формат рядка PHC. Верифікатор Argon2 на цьому сайті теж їх перевіряє.

### Мій пароль зберігається або повертається?

Ні. Пароль використовується лише в пам’яті для обчислення хешу й вилучається з відповіді. Його ніколи не записують у журнал і не зберігають.

### Чи можна генерувати хеші Argon2i або Argon2d?

Ні. Інструмент створює лише Argon2id, оскільки це рекомендований варіант для паролів. Верифікатор Argon2 усе одно приймає хеші Argon2i та Argon2d.

Ваша реклама тут?

[Напишіть нам електронною поштою](mailto:hi@dennn.is?subject=%D0%A0%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0%20%D0%BD%D0%B0%20OneClick%20Pro)

[Реклама Набір плагінів для роботи з агентами для WordPress.](https://sleekwp.com/?ref=oneclickpro)
