Hashe/Krypto
Scrypt Hash + Verify
Hashuj hasła za pomocą scrypt (RFC 7914, memory-hard KDF) z weryfikacją względem istniejącego hasha.
Scrypt (RFC 7914) was one of the first memory-hard password-hashing algorithms: it deliberately requires a lot of RAM, not just CPU time, to make parallel brute-forcing on GPUs and ASICs harder.
How to use it
- Hash: enter a password and tune the parameters (N — memory cost, r — block size, p — parallelism) to get a hash.
- Verify: paste a password and an existing scrypt hash to check whether they match.
- Every hash uses a fresh random salt, so the same password produces a different hash each time.
Common uses
- Checking that a backend correctly hashes passwords with scrypt before storing them.
- Generating a test scrypt hash for fixtures or seed data during development.
- Comparing scrypt against bcrypt and Argon2 when choosing a hashing algorithm for a new project.
Things to keep in mind
The N parameter (memory cost) increases both required memory and compute time exponentially — tune it to your server's actual capacity.
Scrypt has been superseded by Argon2 (the official Password Hashing Competition winner) as the recommended choice for new systems, though scrypt itself still isn't considered unsafe.
Artykuł o tym narzędziu: Scrypt: dlaczego algorytm potrzebuje tak dużo pamięci
Najczęstsze pytania
Czym scrypt różni się od bcrypt czy PBKDF2?
Scrypt jest celowo wymagający zarówno pamięciowo, jak i pod względem CPU, co czyni go znacznie droższym do złamania przy użyciu GPU lub niestandardowego sprzętu ASIC w porównaniu z bcrypt czy PBKDF2, które głównie opierają się brute-force'owi opartemu na CPU.
Co kontrolują parametry N, r i p?
N określa koszt CPU/pamięci (musi być potęgą dwójki), r określa rozmiar bloku wpływający na zużycie pamięci na operację, a p określa równoległość — zwiększenie któregokolwiek podnosi koszt zasobów zarówno dla legalnego użycia, jak i ataków.
Czy scrypt to wciąż dobry wybór w porównaniu z Argon2?
Scrypt pozostaje solidny i sprawdzony w boju, ale dla nowych systemów zazwyczaj zaleca się Argon2 (zwycięzcę Password Hashing Competition), ponieważ oferuje bardziej precyzyjną kontrolę nad pamięcią i odpornością na ataki bocznokanałowe.
Ile pamięci realnie zużywa scrypt?
Około 128 × N × r bajtów na jedno obliczenie. Przy typowych parametrach (N=16384, r=8) to około 16 megabajtów na jeden hash — pomijalne dla jednego logowania, ale istotne przy tysiącach jednoczesnych uwierzytelnień na serwerze.
Gdzie jeszcze stosuje się scrypt, poza haszowaniem haseł?
Scrypt jest znany jako algorytm proof-of-work w niektórych kryptowalutach (na przykład Litecoin) — wybrano go właśnie ze względu na odporność na kopanie na wyspecjalizowanych urządzeniach ASIC, charakterystyczną dla bitcoina z jego SHA-256.