Argon2-generátor
Készítsen Argon2id jelszó-hash-t véletlenszerű, 16 bájtos sóval, és válassza ki a memória, az iterációk, a párhuzamosság és a hash hossza értékeit. A memória legfeljebb 64 MiB, az iterációk száma pedig legfeljebb 4 lehet; az alapértelmezett értékek az OWASP 19 MiB-os és 2 menetes ajánlását követik. Az eszköz a $argon2id$v=19$ kezdetű szabványos PHC-karakterláncot adja vissza, amelyet a PHP, a libsodium és az argon2 könyvtárak ellenőriznek. A jelszó soha nem jelenik meg.
Gyakran ismételt kérdések
Mi az Argon2id?
Az Argon2 megnyerte a Password Hashing Competition versenyt 2015, és az RFC 9106 határozza meg. Az Argon2id olyan hibrid változat, amely ellenáll az oldalcsatornás és a GPU-s támadásoknak is. Jelszótároláshoz ezt a változatot ajánlja az OWASP és az RFC.
Mit jelentenek a memória, az iterációk és a párhuzamosság beállításai?
A memória azt adja meg, hogy az egyes hash-ek hány MiB-ot töltenek fel; az iterációk azt, hogy hányszor futnak végig ezen a memórián; a párhuzamosság pedig a szálak számát határozza meg. A nagyobb memória és iterációszám megdrágítja a támadók számára az egyes próbálkozásokat. Itt a memória 1–64 MiB, az iterációk száma 1–4, a párhuzamosság pedig 1–4 lehet.
Milyen beállításokat használjak?
Az alapérték 19 MiB, 2 iteráció és 1 szál, ami az OWASP Argon2idre vonatkozó minimuma. A PHP alapértelmezése 64 MiB és 4 iteráció; ezeket itt is beállíthatja. Éles környezetben használja a lehető legtöbb memóriát, amelyet a szerverei bejelentkezésenként biztosítani tudnak.
Miért van korlátozva a memória és az iterációk száma?
Minden hash ténylegesen lefoglalja a kért memóriát, és minden menetet egy megosztott szerveren futtat. A 64 MiB-os és 4 iterációs korlát gondoskodik róla, hogy egy kérés csak a másodperc töredékéig tartson, miközben lefedi a gyakori éles környezetbeli beállításokat.
Mit tartalmaz a kimeneti karakterlánc?
Egy ilyen eredmény: $argon2id$v=19$m=19456,t=2,p=1$ után a só és a hash következik; a karakterlánc felsorolja a változatot, a verziót, a KiB-ban megadott memóriát, az iterációkat és a szálakat. A só és a hash kitöltetlen Base64 formátumban van. Mentse el a teljes karakterláncot, mert az ellenőrzés ebből olvassa ki az összes paramétert.
Miért más a hash minden alkalommal?
Minden kérés új, véletlenszerű, 16 bájtos sót használ, ezért ugyanaz a jelszó minden alkalommal más karakterláncot eredményez. A megfelelő jelszóval mindegyik ellenőrizhető.
Választhatok hash-hosszt?
Igen, 16 és 64 bájt között; az alapértelmezés 32 bájt. A hosszabb címkék nem nehezítik meg a találgatást, ezért jelszótároláshoz 32 bájt elegendő.
Mely rendszerek fogadják el ezeket a hash-eket?
A PHP password_verify, a libsodium crypto_pwhash_str_verify függvénye, az Node.js argon2 csomagja, a Pythonhoz készült argon2-cffi és a Spring Security mind a PHC karakterlánc-formátumot olvassa be. Ezen az oldalon az Argon2 Verifier is ellenőrzi ezeket.
Tárolja vagy visszaküldi a rendszer a jelszavamat?
Nem. A rendszer csak a hash kiszámításához használja a jelszót a memóriában, majd eltávolítja a válaszból. Soha nem naplózza és nem menti el.
Generálhatok Argon2i vagy Argon2d hash-eket?
Nem. Az eszköz csak Argon2id-t állít elő, mert ez az ajánlott változat jelszavakhoz. Az Argon2 Verifier az Argon2i és Argon2d hash-eket is elfogadja.