Vai al contenuto

Generatore Scrypt

Ricavate una chiave scrypt da una password con un salt casuale o personalizzato. Scegliete l'esponente di costo fino a 15 (N fino a 32768), la dimensione del blocco r fino a 8, il parallelismo p fino a 4 e una lunghezza della chiave da 16 a 64 byte. Lo strumento segue RFC 7914 e restituisce la chiave, il salt usato e i parametri in esadecimale o Base64, pronti per il confronto con Node.js crypto.scrypt, Python hashlib o libsodium. La password non viene restituita.

Reimposta

Domande frequenti

Che cos'è scrypt?

Scrypt è una funzione di derivazione delle chiavi ad alta intensità di memoria ideata da Colin Percival e standardizzata in RFC 7914. Ricava una chiave da una password e un salt, costringendo ogni tentativo a usare una grande quantità di memoria. Viene usata per memorizzare password, cifrare dischi e in alcune criptovalute.

Cosa significano N, r e p?

N è il costo in CPU e memoria e deve essere una potenza di due; r è la dimensione del blocco e p il fattore di parallelizzazione. La memoria usata è circa 128 volte N per r byte, quindi N = 16384 con r = 8 richiede 16 MiB. Qui N arriva fino a 32768, r fino a 8 e p fino a 4.

Quali sono i parametri predefiniti?

I valori predefiniti sono N = 16384 (esponente di costo 14), r = 8, p = 1 e una chiave di 32 byte: sono le impostazioni interattive consigliate nel documento su scrypt. Aumentate N per una protezione più forte, nei limiti consentiti dal vostro sistema.

Come viene scelto il salt?

Se il campo del salt è vuoto, lo strumento genera 16 byte casuali e li mostra nel risultato. Se inserite un salt, vengono usati i suoi byte UTF-8, così da poter riprodurre una chiave generata da un altro sistema. Non riutilizzate mai lo stesso salt per password diverse.

Posso riprodurre i vettori di test RFC 7914?

Sì. La password pleaseletmein con il salt SodiumChloride, esponente di costo 14, r = 8, p = 1 e una chiave di 64 byte produce 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887, il terzo vettore dell'RFC.

Perché i parametri hanno un limite?

Scrypt alloca memoria reale e viene eseguito su un server condiviso. Limitare N a 32768, r a 8 e p a 4 mantiene ogni derivazione al di sotto di circa 32 MiB di memoria e di uno o due secondi di elaborazione.

Come memorizzo un hash scrypt di una password?

Memorizzate insieme la chiave, il salt e N, r e p, perché vi serviranno tutti per verificare in seguito una password. Librerie come Node.js crypto.scrypt lasciano a voi la scelta del formato di memorizzazione, mentre altre usano formati stringa propri.

La mia password è inclusa nel risultato?

No. La risposta contiene la chiave, il salt e i parametri, ma mai la password. Non viene registrato né memorizzato nulla.

È meglio usare scrypt o Argon2?

Entrambi resistono agli attacchi basati sulla memoria e sono adatti per le password. Argon2id è la raccomandazione più recente ed è più facile da configurare, mentre scrypt è ampiamente supportato nelle librerie standard come Node.js e Python.

Cosa cambiano le opzioni esadecimale e Base64?

Cambiano il formato in cui vengono scritti la chiave e il salt nel risultato. I byte sono gli stessi, quindi scegliete il formato letto dal vostro codice.

Informazioni su OneClick Pro

OneClick Pro è una raccolta gratuita di oltre 150 strumenti web per le attività quotidiane: convertire immagini e unità di misura, formattare e convalidare codice, controllare domini e SEO, lavorare con testi, date e numeri. Ogni strumento funziona senza registrazione né abbonamento; i dati inseriti vengono usati solo per calcolare il risultato e non vengono mai salvati. Usatelo come cassetta degli attrezzi per attività occasionali oppure aggiungete ai preferiti gli strumenti che usate ogni giorno.