Argon2-generator
Genereer een Argon2id-wachtwoordhash met een willekeurige salt van 16 bytes en kies zelf het geheugen, het aantal iteraties, de paralleliteit en de hash-lengte. Het geheugen is beperkt tot 64 MiB en het aantal iteraties tot 4. De standaardinstellingen volgen de OWASP-basislijn van 19 MiB en 2 passes. De tool retourneert de standaard-PHC-string die begint met $argon2id$v=19$ en wordt geverifieerd door PHP, libsodium en de argon2-bibliotheken. Het wachtwoord wordt nooit weergegeven.
Veelgestelde vragen
Wat is Argon2id?
Argon2 won de Password Hashing Competition in 2015 en is vastgelegd in RFC 9106. Argon2id is de hybride variant die bestand is tegen zowel sidechannel- als GPU-aanvallen. OWASP en de RFC bevelen deze variant aan voor het opslaan van wachtwoorden.
Wat betekenen de instellingen voor geheugen, iteraties en paralleliteit?
De geheugeninstelling bepaalt hoeveel MiB elke hash vult, het aantal iteraties bepaalt hoeveel passes over dat geheugen worden uitgevoerd en de paralleliteit bepaalt het aantal lanes. Meer geheugen en iteraties maken elke gok duurder voor aanvallers. Hier loopt het geheugen van 1 tot 64 MiB, het aantal iteraties van 1 tot 4 en de paralleliteit van 1 tot 4.
Welke instellingen moet ik gebruiken?
De standaardinstellingen zijn 19 MiB, 2 iteraties en 1 lane: het OWASP-minimum voor Argon2id. De standaardinstelling van PHP is 64 MiB met 4 iteraties; die kunt u hier ook instellen. Gebruik in productie zoveel geheugen per aanmelding als uw servers beschikbaar kunnen stellen.
Waarom zijn het geheugen en het aantal iteraties beperkt?
Elke hash gebruikt daadwerkelijk het aangevraagde geheugen en voert elke pass uit op een gedeelde server. De limiet van 64 MiB en 4 iteraties houdt elk verzoek onder een fractie van een seconde en biedt toch ondersteuning voor gangbare productie-instellingen.
Wat staat er in de uitvoerstring?
Een resultaat zoals $argon2id$v=19$m=19456,t=2,p=1$, gevolgd door de salt en de hash, vermeldt de variant, versie, het geheugen in KiB, het aantal iteraties en de lanes. De salt en hash zijn gecodeerd in ongepaddede Base64. Sla de volledige string op, want de verificatie leest alle parameters daaruit.
Waarom is de hash elke keer anders?
Elk verzoek gebruikt een nieuwe willekeurige salt van 16 bytes, waardoor hetzelfde wachtwoord elke keer een andere string oplevert. Ze worden allemaal correct geverifieerd met het juiste wachtwoord.
Kan ik de hash-lengte kiezen?
Ja, van 16 tot 64 bytes, met 32 bytes als standaard. Langere tags maken raden niet moeilijker, dus 32 bytes volstaat voor het opslaan van wachtwoorden.
Welke systemen accepteren deze hashes?
PHP password_verify, crypto_pwhash_str_verify van libsodium, het argon2-pakket voor Node.js, argon2-cffi voor Python en Spring Security kunnen allemaal het PHC-stringformaat lezen. De Argon2 Verifier op deze site controleert ze ook.
Wordt mijn wachtwoord opgeslagen of teruggestuurd?
Nee. Het wachtwoord wordt alleen in het geheugen gebruikt om de hash te berekenen en wordt uit het antwoord verwijderd. Het wordt nooit gelogd of opgeslagen.
Kan ik Argon2i- of Argon2d-hashes genereren?
Nee. De tool produceert alleen Argon2id, omdat dit de aanbevolen variant voor wachtwoorden is. De Argon2 Verifier accepteert ook Argon2i- en Argon2d-hashes.