Generátor Argon2
Vytvořte hash hesla Argon2id s náhodnou 16bajtovou solí a zvolenými hodnotami paměti, počtu iterací, paralelismu a délky hashe. Paměť je omezena na 64 MiB a počet iterací na 4; výchozí hodnoty odpovídají základu OWASP: 19 MiB a 2 průchody. Nástroj vrací standardní řetězec PHC začínající na $argon2id$v=19$, který ověří PHP, libsodium i knihovny argon2. Heslo se nikdy nezobrazí.
Často kladené otázky
Co je Argon2id?
Argon2 vyhrál soutěž Password Hashing Competition v 2015 a je specifikován v RFC 9106. Argon2id je hybridní varianta, která odolává útokům postranními kanály i útokům pomocí GPU. Jde o variantu, kterou OWASP a RFC doporučují pro ukládání hesel.
Co znamená nastavení paměti, počtu iterací a paralelismu?
Paměť určuje, kolik MiB zabere výpočet každého hashe, počet iterací určuje, kolik průchodů se nad touto pamětí provede, a paralelismus určuje počet výpočetních vláken. Vyšší hodnoty paměti a počtu iterací útočníkům prodražují každý pokus. Zde je rozsah paměti 1 až 64 MiB, počet iterací 1 až 4 a paralelismus 1 až 4.
Jaká nastavení mám použít?
Výchozí hodnoty jsou 19 MiB, 2 iterace a 1 výpočetní vlákno, což je minimum OWASP pro Argon2id. Výchozí nastavení PHP je 64 MiB a 4 iterace; stejné hodnoty můžete nastavit i zde. V produkčním prostředí použijte na jedno přihlášení tolik paměti, kolik si vaše servery mohou dovolit.
Proč jsou hodnoty paměti a počtu iterací omezené?
Každý hash skutečně alokuje požadovanou paměť a provede každý průchod na sdíleném serveru. Limit 64 MiB a 4 iterací udrží každý požadavek pod zlomkem sekundy a přitom pokryje běžná produkční nastavení.
Co obsahuje výstupní řetězec?
Výsledek, například $argon2id$v=19$m=19456,t=2,p=1$ následovaný solí a hashem, uvádí variantu, verzi, paměť v KiB, počet iterací a výpočetních vláken. Sůl a hash jsou v Base64 bez doplnění. Uložte celý řetězec, protože při ověřování se z něj načítají všechny parametry.
Proč je hash pokaždé jiný?
Každý požadavek používá novou náhodnou 16bajtovou sůl, takže stejné heslo pokaždé vytvoří jiný řetězec. Všechny tyto hashe lze správným heslem ověřit.
Mohu zvolit délku hashe?
Ano, od 16 do 64 bajtů; výchozí hodnota je 32 bajtů. Delší značky nezvyšují náročnost hádání, takže pro ukládání hesel stačí 32 bajtů.
Které systémy tyto hashe přijímají?
PHP password_verify, crypto_pwhash_str_verify z libsodium, balíček argon2 pro Node.js, argon2-cffi pro Python a Spring Security všechny čtou formát řetězce PHC. Ověřovač Argon2 na tomto webu je kontroluje také.
Ukládá se nebo vrací moje heslo?
Ne. Heslo se používá pouze v paměti k výpočtu hashe a z odpovědi se odstraní. Nikdy se nezaznamenává ani neukládá.
Mohu generovat hashe Argon2i nebo Argon2d?
Ne. Nástroj vytváří pouze Argon2id, protože jde o doporučenou variantu pro hesla. Ověřovač Argon2 stále přijímá hashe Argon2i a Argon2d.