# Генератор на Argon2

Генерирайте Argon2id хеш на парола с произволен 16-байтов salt и избрани от вас памет, итерации, паралелизъм и дължина на хеша. Паметта е ограничена до 64 MiB, а итерациите — до 4; стойностите по подразбиране следват базовите настройки на OWASP: 19 MiB и 2 преминавания. Инструментът връща стандартен PHC низ, започващ с $argon2id$v=19$, който се проверява от PHP, libsodium и библиотеките argon2. Паролата никога не се показва.

## Често задавани въпроси

### Какво е Argon2id?

Argon2 спечели конкурса за хеширане на пароли през 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$, последван от salt и хеша, указва варианта, версията, паметта в KiB, итерациите и нишките. Salt и хешът са в непадирана форма на Base64. Съхранявайте целия низ, защото при проверката от него се прочита всеки параметър.

### Защо хешът е различен всеки път?

При всяка заявка се използва нов произволен 16-байтов salt, затова една и съща парола създава различен низ всеки път. Всички тези хешове се потвърждават с правилната парола.

### Мога ли да избера дължината на хеша?

Да, от 16 до 64 байта; стойността по подразбиране е 32 байта. По-дългите тагове не затрудняват отгатването, затова 32 байта са достатъчни за съхранение на пароли.

### Кои системи приемат тези хешове?

PHP password_verify, crypto_pwhash_str_verify на libsodium, пакетът argon2 за Node.js, argon2-cffi за Python и Spring Security четат формата PHC string. Верификаторът 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%B2%20OneClick%20Pro)

[Реклама Комплект плъгини за агенти за WordPress.](https://sleekwp.com/?ref=oneclickpro)
