UTILS.
100% w przeglądarce
🛡️

Generator i weryfikator hashy hasła Argon2

Oblicz hash hasła Argon2id/i/d z konfigurowalną pamięcią, iteracjami i równoległością lub zweryfikuj hasło względem hasha zakodowanego w PHC. Po stronie klienta.

Hasła są haszowane w 100% w Twojej przeglądarce — nic nie jest przesyłane.

— wynik pojawi się tutaj —

O tym narzędziu

Generator i weryfikator hashy hasła Argon2 oblicza i sprawdza hashe Argon2 całkowicie w Twojej przeglądarce. Argon2 wygrał konkurs Password Hashing Competition w 2015 roku i jest ustandaryzowany w RFC 9106; w przeciwieństwie do bcrypt jest memory-hard, co oznacza, że jego koszt jest zdominowany przez użycie RAM, co utrudnia łamanie na platformach GPU i ASIC. Tryb generowania pobiera 16 losowych bajtów soli z crypto.getRandomValues i uruchamia wybrany wariant z Twoimi parametrami: t iteracji (koszt czasu), m pamięci w KiB, p równoległości (linie) i długość hasha wyjściowego w bajtach.

Oferowane są trzy warianty. Argon2id (domyślny i rekomendowany przez RFC) to hybryda odporna zarówno na ataki bocznokanałowe, jak i time-memory trade-off; Argon2i jest zoptymalizowany pod kątem wycieku bocznokanałowego; Argon2d maksymalizuje odporność na łamanie GPU, ale nie jest bezpieczny wobec kanałów bocznych. Wynikiem jest samoopisujący się ciąg PHC postaci $argon2id$v=19$m=65536,t=3,p=1$<sól base64>$<hash base64>, więc każdy parametr potrzebny do weryfikacji podróżuje wewnątrz hasha. Domyślne wartości (t=3, m=65536 KiB = 64 MiB, p=1) są zgodne z drugim rekomendowanym profilem RFC 9106.

Ponieważ praca działa jako pozbawiona eval kompilacja WebAssembly pod ścisłą polityką bezpieczeństwa przeglądarki, pamięć jest alokowana na stronie: bardzo wysokie wartości m są zasobożerne pod względem RAM i mogą być wolne na telefonach, więc narzędzie ostrzega powyżej 256 MiB. Tryb weryfikacji parsuje wariant, wersję, m/t/p, sól i skrót z zakodowanego hasha, przelicza z kandydackim hasłem i zgłasza zgodność lub jej brak. Hasła są haszowane w 100% w Twojej przeglądarce i nic nie jest przesyłane.

Najczęściej zadawane pytania

Którego wariantu Argon2 powinienem użyć?
Argon2id jest domyślny i rekomendowany przez RFC 9106 do haszowania haseł — łączy odporność bocznokanałową Argon2i z odpornością na łamanie GPU Argon2d. Używaj Argon2i tylko wtedy, gdy konkretnie potrzebujesz dostępu do pamięci niezależnego od danych, a Argon2d tylko w środowiskach bez ryzyka kanałów bocznych.
Co robią ustawienia pamięci, iteracji i równoległości?
Pamięć (m, w KiB) to RAM, który hash wypełnia — główny czynnik kosztu. Iteracje (t) to liczba przebiegów przez tę pamięć. Równoległość (p) to liczba linii liczonych naraz. Wyższe m i t oznaczają silniejsze, wolniejsze hashe; domyślne to m=65536 (64 MiB), t=3, p=1.
Dlaczego wysokie ustawienie pamięci jest wolne lub nieodpowiadające?
Argon2 naprawdę alokuje żądaną pamięć w Twojej przeglądarce, więc wartość jak 1 GiB (1048576 KiB) może zawiesić się lub zawieść na urządzeniach z małą ilością RAM. Narzędzie ostrzega powyżej 256 MiB. Zmniejsz m, jeśli generowanie się zawiesza; parametry są i tak przechowywane w hashu.
Czy hash zawiera wszystko potrzebne do jego weryfikacji?
Tak. Wynik zakodowany w PHC osadza wariant, wersję, parametry m/t/p, sól i skrót, więc weryfikacja potrzebuje tylko hasła i tego jednego ciągu. Nic nie jest nigdzie wysyłane — zarówno haszowanie, jak i weryfikacja działają lokalnie za pomocą WebAssembly.

Więcej narzędzi