Generátor Argon2
Vygenerujte hash hesla Argon2id s náhodnou 16-bajtovou soľou a zvoľte si pamäť, počet iterácií, paralelizmus a dĺžku hashu. Pamäť je obmedzená na 64 MiB a počet iterácií na 4; predvolené hodnoty zodpovedajú základnému nastaveniu OWASP: 19 MiB a 2 priechody. Nástroj vráti štandardný reťazec PHC začínajúci na $argon2id$v=19$, ktorý overia PHP, libsodium a knižnice argon2. Heslo sa nikdy nezobrazí.
Často kladené otázky
Čo je Argon2id?
Argon2 vyhral súťaž Password Hashing Competition v 2015 a je špecifikovaný v RFC 9106. Argon2id je hybridný variant, ktorý odoláva útokom cez postranné kanály aj útokom pomocou GPU. Ide o variant, ktorý OWASP a RFC odporúčajú na ukladanie hesiel.
Čo znamenajú nastavenia pamäte, iterácií a paralelizmu?
Pamäť určuje, koľko MiB každý hash využije, iterácie určujú počet priechodov cez túto pamäť a paralelizmus určuje počet výpočtových vetiev. Väčšia pamäť a viac iterácií zvyšujú náklady útočníkov na každý pokus. Tu je rozsah pamäte od 1 do 64 MiB, počet iterácií od 1 do 4 a paralelizmus od 1 do 4.
Ktoré nastavenia mám použiť?
Predvolené hodnoty sú 19 MiB, 2 iterácie a 1 vetva, čo je minimum OWASP pre Argon2id. Predvolené nastavenie PHP je 64 MiB so 4 iteráciami, ktoré môžete nastaviť aj tu. V produkčnom prostredí použite pri každom prihlásení toľko pamäte, koľko si vaše servery môžu dovoliť.
Prečo sú pamäť a počet iterácií obmedzené?
Každý hash skutočne alokuje požadovanú pamäť a pri každom priechode ju spracúva na zdieľanom serveri. Limit 64 MiB a 4 iterácií udrží každú požiadavku pod zlomkom sekundy a zároveň pokryje bežné nastavenia v produkcii.
Čo obsahuje výstupný reťazec?
Výsledok, napríklad $argon2id$v=19$m=19456,t=2,p=1$ nasledovaný soľou a hashom, uvádza variant, verziu, pamäť v KiB, počet iterácií a počet vetiev. Soľ a hash sú zakódované v Base64 bez výplne. Uložte celý reťazec, pretože pri overovaní sa z neho načítajú všetky parametre.
Prečo je hash zakaždým iný?
Každá požiadavka používa novú náhodnú 16-bajtovú soľ, takže rovnaké heslo zakaždým vytvorí iný reťazec. Všetky sa dajú správne overiť pomocou správneho hesla.
Môžem si zvoliť dĺžku hashu?
Áno, od 16 do 64 bajtov; predvolená hodnota je 32 bajtov. Dlhšie značky nesťažujú hádanie, preto na ukladanie hesiel stačí 32 bajtov.
Ktoré systémy prijímajú tieto hashe?
PHP password_verify, crypto_pwhash_str_verify od libsodium, balík argon2 pre Node.js, argon2-cffi pre Python a Spring Security čítajú formát reťazca PHC. Kontroluje ho aj nástroj Argon2 Verifier na tejto stránke.
Ukladá sa moje heslo alebo sa vracia v odpovedi?
Nie. Heslo sa používa iba v pamäti na výpočet hašu a z odpovede sa odstráni. Nikdy sa nezaznamenáva ani neukladá.
Môžem generovať haše Argon2i alebo Argon2d?
Nie. Nástroj vytvára iba Argon2id, pretože ide o odporúčaný variant pre heslá. Nástroj Argon2 Verifier však naďalej prijíma haše Argon2i a Argon2d.