Generator Scrypt
Derivați o cheie scrypt dintr-o parolă, folosind o sare aleatorie sau personalizată. Alegeți exponentul costului până la 15 (N până la 32768), dimensiunea blocului r până la 8, paralelismul p până la 4 și o lungime a cheii între 16 și 64 de bytes. Instrumentul respectă RFC 7914 și returnează cheia, sarea folosită și parametrii în hexazecimal sau Base64, gata pentru comparare cu Node.js crypto.scrypt, Python hashlib sau libsodium. Parola nu este afișată.
Întrebări frecvente
Ce este scrypt?
Scrypt este o funcție de derivare a cheilor cu consum mare de memorie, creată de Colin Percival și standardizată în RFC 7914. Derivă o cheie dintr-o parolă și o sare, obligând fiecare încercare să folosească o cantitate mare de memorie. Este folosită pentru stocarea parolelor, criptarea discurilor și unele criptomonede.
Ce înseamnă N, r și p?
N reprezintă costul CPU și de memorie și trebuie să fie o putere a lui doi; r este dimensiunea blocului, iar p este factorul de paralelizare. Utilizarea memoriei este de aproximativ 128 ori N ori r bytes, așadar N = 16384 cu r = 8 necesită 16 MiB. Aici, N poate ajunge până la 32768, r până la 8 și p până la 4.
Care sunt parametrii impliciți?
Valorile implicite sunt N = 16384 (exponentul costului 14), r = 8, p = 1 și o cheie de 32 bytes; acestea sunt setările interactive recomandate în lucrarea despre scrypt. Măriți N pentru o protecție mai puternică, atât cât permite sistemul.
Cum se alege sarea?
Dacă lăsați câmpul sării necompletat, instrumentul generează 16 bytes aleatorii și le afișează în rezultat. Dacă introduceți o sare, se folosesc bytes UTF-8 corespunzători, ceea ce vă permite să reproduceți o cheie de pe alt sistem. Nu reutilizați niciodată aceeași sare pentru parole diferite.
Pot reproduce vectorii de test RFC 7914?
Da. Parola pleaseletmein, sarea SodiumChloride, exponentul costului 14, r = 8, p = 1 și o cheie de 64 bytes produc 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887, al treilea vector din RFC.
De ce sunt limitați parametrii?
Scrypt alocă memorie reală și rulează pe un server partajat. Limitarea lui N la 32768, a lui r la 8 și a lui p la 4 menține fiecare derivare la sub aproximativ 32 MiB de memorie și la una sau două secunde de procesare.
Cum stochez un hash scrypt al unei parole?
Stocați împreună cheia, sarea și valorile N, r și p, deoarece veți avea nevoie de toate pentru a verifica ulterior o parolă. Biblioteci precum Node.js crypto.scrypt vă lasă să alegeți formatul de stocare, în timp ce altele folosesc propriile formate de șir.
Este inclusă parola mea în rezultat?
Nu. Răspunsul conține cheia, sarea și parametrii, dar niciodată parola. Nimic nu este înregistrat sau stocat.
Ar trebui să folosesc scrypt sau Argon2?
Ambele sunt rezistente la atacuri care folosesc memoria și potrivite pentru parole. Argon2id este recomandarea mai nouă și se reglează mai ușor, în timp ce scrypt este acceptat pe scară largă în biblioteci standard precum Node.js și Python.
Ce modifică opțiunile hex și Base64?
Acestea schimbă modul în care cheia și sarea sunt reprezentate în rezultat. Octeții sunt aceiași, așa că alegeți forma pe care o poate citi codul dvs.