Laboratorio scrypt
Calcula scrypt con N, r, p, sal y longitud de clave personalizados, consulta la memoria necesaria y obtén hex en bruto o una cadena $scrypt$. Verificado con el RFC 7914.
Memoria necesaria: 128 × N × r = 128 MiB
scrypt (RFC 7914) es resistente a memoria. Mínimo de OWASP: N=2^17, r=8, p=1 (128 MiB). Se calcula con hash-wasm en tu navegador; los valores grandes de N necesitan mucha memoria.
Verificar una contraseña con un hash
Se ejecuta completamente en tu navegador. Tus datos nunca se suben.
¿Qué es Laboratorio scrypt?
Ejecuta la función de derivación de claves scrypt (RFC 7914), resistente a memoria, con tus propios parámetros de coste y tu sal. La herramienta muestra cuánta memoria necesita la configuración, la clave derivada en bruto y una cadena $scrypt$ codificada que puedes verificar después.
Cómo usar Laboratorio scrypt
- Introduce la Contraseña.
- Elige el Coste de CPU/memoria (N) como potencia de dos, el Tamaño de bloque (r), el Paralelismo (p) y la Longitud de la clave.
- Introduce una Sal y su codificación, o déjala vacía para usar una sal aleatoria.
- Haz clic en Calcular hash y copia el resultado; verifícalo en el panel de abajo.
Ejemplo
Password password, salt NaCl, N=1024, r=8, p=16, 64 bytes
fdbabe1c9d3472007856e7190d01e9fe7c6ad7cbc8237830e77376634b3731622eaf30d92e22a3886ff109279d9830dac727afb94a83ee6d8360cbdfa2cc0640
RFC 7914, sección 12, vector de prueba 2.
Cuándo usar Laboratorio scrypt
Úsalo para ajustar los parámetros de scrypt, comprobar los vectores del RFC 7914 o depurar hashes de crypto.scrypt de Node.js, hashlib.scrypt de Python o passlib. Los valores grandes de N necesitan cientos de MiB y pueden fallar en dispositivos móviles.
Cómo funciona Laboratorio scrypt
scrypt ejecuta una vez PBKDF2-HMAC-SHA-256 para expandir la entrada; después la función ROMix llena 128 × N × r bytes de memoria con salidas de BlockMix basadas en Salsa20/8 y los vuelve a leer en un orden dependiente de los datos, p veces, antes de un paso final de PBKDF2. La forma codificada es $scrypt$ln=<log2 N>,r=<r>,p=<p>$<salt>$<hash> en Base64. El cálculo usa hash-wasm (WebAssembly).
Casos de Uso Comunes
- Elegir N para que el cálculo del hash tarde unos 100 ms
- Reproducir vectores de prueba del RFC 7914
- Depurar hashes creados con crypto.scrypt de Node
- Mostrar cómo crece el coste de memoria con N y r
Preguntas Frecuentes
¿Qué parámetros recomienda OWASP?
Al menos N=2^17, r=8, p=1, que usa 128 MiB, o compromisos como N=2^16, r=8, p=2.
¿Cuánta memoria usa scrypt?
128 × N × r bytes, que se muestran bajo los parámetros. N=2^17 y r=8 necesitan 128 MiB.
¿Es scrypt mejor que bcrypt?
Es resistente a memoria, lo que encarece los ataques con GPU y ASIC. Argon2id es hoy la primera opción y scrypt una buena segunda.