# 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.

## 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.

Il tuo annuncio qui?

[Scrivici](mailto:hi@dennn.is?subject=Pubblicit%C3%A0%20su%20OneClick%20Pro)

[Annuncio La suite di plugin pronta per gli agenti di WordPress.](https://sleekwp.com/?ref=oneclickpro)
