Generator Argon2
Generuj skrót hasła Argon2id z losową 16-bajtową solą oraz wybranymi ustawieniami pamięci, liczby iteracji, równoległości i długości skrótu. Pamięć jest ograniczona do 64 MiB, a liczba iteracji do 4; wartości domyślne odpowiadają podstawowym zaleceniom OWASP: 19 MiB i 2 przebiegi. Narzędzie zwraca standardowy ciąg PHC zaczynający się od $argon2id$v=19$, który można zweryfikować za pomocą PHP, libsodium i bibliotek argon2. Hasło nigdy nie jest wyświetlane.
Najczęściej zadawane pytania
Czym jest Argon2id?
Argon2 wygrał Password Hashing Competition w 2015 i został opisany w RFC 9106. Argon2id to wariant hybrydowy odporny zarówno na ataki bocznym kanałem, jak i ataki z użyciem GPU. To wariant zalecany do przechowywania haseł przez OWASP i RFC.
Co oznaczają ustawienia pamięci, iteracji i równoległości?
Pamięć określa, ile MiB wykorzystuje każdy skrót, iteracje — ile przebiegów jest wykonywanych na tej pamięci, a równoległość — liczbę ścieżek. Większa ilość pamięci i więcej iteracji zwiększają koszt każdego zgadywania hasła dla atakujących. W tym narzędziu zakres pamięci wynosi od 1 do 64 MiB, liczba iteracji od 1 do 4, a równoległości od 1 do 4.
Jakich ustawień użyć?
Wartości domyślne to 19 MiB, 2 iteracje i 1 ścieżka — minimalne ustawienia OWASP dla Argon2id. Domyślne ustawienia PHP to 64 MiB i 4 iteracje; możesz je również odtworzyć tutaj. W środowisku produkcyjnym używaj tyle pamięci na każde logowanie, ile mogą udostępnić Twoje serwery.
Dlaczego pamięć i liczba iteracji są ograniczone?
Każdy skrót rzeczywiście przydziela żądaną ilość pamięci i wykonuje każdy przebieg na współdzielonym serwerze. Ograniczenie do 64 MiB i 4 iteracji sprawia, że każde żądanie trwa ułamek sekundy, a jednocześnie obejmuje typowe ustawienia produkcyjne.
Co zawiera wynikowy ciąg?
Wynik, taki jak $argon2id$v=19$m=19456,t=2,p=1$, po którym następują sól i skrót, zawiera informacje o wariancie, wersji, pamięci w KiB, iteracjach i ścieżkach. Sól i skrót są zapisane w formacie Base64 bez dopełnienia. Zapisz cały ciąg, ponieważ podczas weryfikacji odczytywany jest z niego każdy parametr.
Dlaczego skrót za każdym razem jest inny?
Każde żądanie używa nowej, losowej 16-bajtowej soli, dlatego to samo hasło za każdym razem daje inny ciąg. Każdy z tych ciągów można prawidłowo zweryfikować za pomocą właściwego hasła.
Czy mogę wybrać długość skrótu?
Tak, od 16 do 64 bajtów; domyślnie to 32 bajty. Dłuższe znaczniki nie utrudniają zgadywania, dlatego do przechowywania haseł wystarczy 32 bajty.
Jakie systemy akceptują te skróty?
PHP password_verify, crypto_pwhash_str_verify z libsodium, pakiet argon2 dla Node.js, argon2-cffi dla Pythona i Spring Security odczytują format ciągu PHC. Weryfikator Argon2 na tej stronie również je sprawdza.
Czy moje hasło jest przechowywane lub zwracane?
Nie. Hasło jest używane wyłącznie w pamięci do obliczenia skrótu i usuwane z odpowiedzi. Nigdy nie jest rejestrowane ani zapisywane.
Czy mogę generować skróty Argon2i lub Argon2d?
Nie. To narzędzie generuje wyłącznie Argon2id, ponieważ jest to zalecany wariant do haseł. Weryfikator Argon2 nadal akceptuje skróty Argon2i i Argon2d.