Przejdź do treści

Generator scrypt

Wyprowadź klucz scrypt z hasła przy użyciu losowej lub własnej soli. Wybierz wykładnik kosztu do 15 (N do 32768), rozmiar bloku r do 8, równoległość p do 4 i długość klucza od 16 do 64 bajtów. Narzędzie jest zgodne z RFC 7914 i zwraca klucz, użyte wartości soli i parametry w formacie szesnastkowym lub Base64, gotowe do porównania z Node.js crypto.scrypt, Python hashlib lub libsodium. Hasło nie jest wyświetlane ponownie.

Resetuj

Najczęściej zadawane pytania

Czym jest scrypt?

Scrypt to funkcja wyprowadzania klucza wymagająca dużej ilości pamięci, opracowana przez Colina Percivala i ustandaryzowana w RFC 7914. Wyprowadza klucz z hasła i soli, zmuszając każdą próbę do użycia dużego bloku pamięci. Jest używana do przechowywania haseł, szyfrowania dysków i obsługi niektórych kryptowalut.

Co oznaczają N, r i p?

N określa koszt procesora i pamięci oraz musi być potęgą dwójki, r to rozmiar bloku, a p to współczynnik równoległości. Zużycie pamięci wynosi około 128 razy N razy r bajtów, więc N = 16384 przy r = 8 wymaga 16 MiB. Tutaj N może wynosić maksymalnie 32768, r maksymalnie 8, a p maksymalnie 4.

Jakie są parametry domyślne?

Domyślne ustawienia to N = 16384 (wykładnik kosztu 14), r = 8, p = 1 i klucz o długości 32 bajtów. Są to interaktywne ustawienia zalecane w artykule o scrypt. Zwiększaj N, aby zapewnić lepszą ochronę, na tyle, na ile pozwala Twój system.

Jak wybierana jest sól?

Jeśli pole soli jest puste, narzędzie tworzy 16 losowych bajtów i wyświetla je w wyniku. Jeśli wpiszesz sól, zostaną użyte jej bajty UTF-8, co pozwala odtworzyć klucz z innego systemu. Nigdy nie używaj tej samej soli dla różnych haseł.

Czy mogę odtworzyć wektory testowe RFC 7914?

Tak. Hasło pleaseletmein, sól SodiumChloride, wykładnik kosztu 14, r = 8, p = 1 i klucz o długości 64 bajtów dają wynik 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887, czyli trzeci wektor z RFC.

Dlaczego parametry mają ograniczenia?

Scrypt przydziela rzeczywistą pamięć i działa na współdzielonym serwerze. Ograniczenie N do 32768, r do 8 i p do 4 utrzymuje zużycie pamięci podczas jednego wyprowadzania klucza poniżej około 32 MiB, a czas pracy w granicach sekundy lub dwóch.

Jak przechowywać skrót hasła scrypt?

Zapisz razem klucz, sól oraz N, r i p, ponieważ wszystkie te wartości są potrzebne do późniejszego sprawdzenia hasła. Biblioteki takie jak Node.js crypto.scrypt pozostawiają wybór formatu zapisu Tobie, a inne używają własnych formatów ciągów.

Czy wynik zawiera moje hasło?

Nie. Odpowiedź zawiera klucz, sól i parametry, ale nigdy hasło. Nic nie jest rejestrowane ani zapisywane.

Czy lepiej użyć scrypt czy Argon2?

Oba algorytmy wymagają dużej ilości pamięci i nadają się do haseł. Argon2id to nowsza rekomendacja, którą łatwiej dostosować, natomiast scrypt jest szeroko obsługiwany w standardowych bibliotekach, takich jak Node.js i Python.

Co zmieniają opcje hex i Base64?

Zmieniają sposób zapisu klucza i soli w wyniku. Bajty pozostają takie same, więc wybierz format obsługiwany przez Twój kod.

O OneClick Pro

OneClick Pro to bezpłatny zbiór ponad 150 narzędzi internetowych do codziennej pracy: konwertowania obrazów i jednostek, formatowania i walidowania kodu, sprawdzania domen i SEO oraz pracy z tekstem, datami i liczbami. Każde narzędzie działa bez rejestracji i subskrypcji, a wprowadzone dane służą wyłącznie do obliczenia wyniku i nigdy nie są przechowywane. Używaj go jako podręcznego zestawu narzędzi do jednorazowych zadań lub dodaj do zakładek te, z których korzystasz każdego dnia.