Bac à sable scrypt
Calculez scrypt avec N, r, p, sel et longueur de clé personnalisés, voyez la mémoire requise et obtenez de l’hex brut ou une chaîne $scrypt$. Vecteurs RFC 7914 vérifiés.
Mémoire nécessaire : 128 × N × r = 128 MiB
scrypt (RFC 7914) est résistant en mémoire. Minimum OWASP : N=2^17, r=8, p=1 (128 MiB). Calculé avec hash-wasm dans votre navigateur ; les grandes valeurs de N demandent beaucoup de mémoire.
Vérifier un mot de passe avec un hash
S'exécute entièrement dans votre navigateur. Vos données ne sont jamais envoyées.
Qu'est-ce que Bac à sable scrypt ?
Exécutez la fonction de dérivation de clé scrypt, résistante en mémoire (RFC 7914), avec vos propres paramètres de coût et votre sel. L’outil indique la mémoire nécessaire, la clé dérivée brute et une chaîne $scrypt$ encodée que vous pourrez vérifier plus tard.
Comment utiliser Bac à sable scrypt
- Saisissez le Mot de passe.
- Choisissez le Coût CPU/mémoire (N) en puissance de deux, la Taille de bloc (r), le Parallélisme (p) et la Longueur de clé (octets).
- Saisissez un Sel et son encodage, ou laissez vide pour un sel aléatoire.
- Cliquez sur Hacher et copiez le résultat ; vérifiez-le dans le panneau du dessous.
Exemple
Password password, salt NaCl, N=1024, r=8, p=16, 64 bytes
fdbabe1c9d3472007856e7190d01e9fe7c6ad7cbc8237830e77376634b3731622eaf30d92e22a3886ff109279d9830dac727afb94a83ee6d8360cbdfa2cc0640
RFC 7914, section 12, vecteur de test 2.
Quand utiliser Bac à sable scrypt
Utilisez-le pour ajuster les paramètres scrypt, vérifier les vecteurs RFC 7914 ou déboguer des hashs de crypto.scrypt de Node.js, hashlib.scrypt de Python ou passlib. De grandes valeurs de N demandent des centaines de MiB et peuvent échouer sur mobile.
Comment fonctionne Bac à sable scrypt
scrypt exécute une fois PBKDF2-HMAC-SHA-256 pour étendre l’entrée, puis la fonction ROMix remplit 128 × N × r octets de mémoire avec des sorties de BlockMix fondé sur Salsa20/8 et les relit dans un ordre dépendant des données, p fois, avant une dernière étape PBKDF2. La forme encodée est $scrypt$ln=<log2 N>,r=<r>,p=<p>$<salt>$<hash> en Base64. Le calcul utilise hash-wasm (WebAssembly).
Cas d'utilisation courants
- Choisir N pour que le hachage dure environ 100 ms
- Reproduire les vecteurs de test RFC 7914
- Déboguer des hashs créés avec crypto.scrypt de Node
- Montrer comment le coût mémoire croît avec N et r
Questions Fréquentes
Quels paramètres l’OWASP recommande-t-il ?
Au moins N=2^17, r=8, p=1, soit 128 MiB, ou des compromis comme N=2^16, r=8, p=2.
Combien de mémoire scrypt utilise-t-il ?
128 × N × r octets, affichés sous les paramètres. N=2^17 et r=8 demandent 128 MiB.
scrypt est-il meilleur que bcrypt ?
Il est résistant en mémoire, ce qui rend les attaques GPU et ASIC plus coûteuses. Argon2id est aujourd’hui le premier choix, scrypt un bon second.