Saltar al contenido

Generador de Scrypt

Derive una clave scrypt a partir de una contraseña con una sal aleatoria o personalizada. Elija el exponente de coste hasta 15 (N hasta 32768), el tamaño de bloque r hasta 8, el paralelismo p hasta 4 y una longitud de clave de 16 a 64 bytes. La herramienta sigue RFC 7914 y devuelve la clave, la sal utilizada y los parámetros en hexadecimal o Base64, listos para compararlos con Node.js crypto.scrypt, Python hashlib o libsodium. La contraseña no se repite.

Restablecer

Preguntas frecuentes

¿Qué es scrypt?

Scrypt es una función de derivación de claves que requiere mucha memoria, creada por Colin Percival y estandarizada en RFC 7914. Deriva una clave a partir de una contraseña y una sal, y obliga a que cada intento use un bloque grande de memoria. Se usa para almacenar contraseñas, cifrar discos y algunas criptomonedas.

¿Qué significan N, r y p?

N es el coste de CPU y memoria y debe ser una potencia de dos; r es el tamaño del bloque y p es el factor de paralelización. El uso de memoria es de aproximadamente 128 veces N por r bytes, por lo que N = 16384 con r = 8 requiere 16 MiB. Aquí, N llega hasta 32768, r hasta 8 y p hasta 4.

¿Cuáles son los parámetros predeterminados?

Los valores predeterminados son N = 16384 (exponente de coste 14), r = 8, p = 1 y una clave de 32 bytes: los parámetros interactivos recomendados en el artículo sobre scrypt. Aumente N para obtener una protección mayor, hasta donde lo permita su sistema.

¿Cómo se elige la sal?

Si el campo de sal está vacío, la herramienta genera 16 bytes aleatorios y los muestra en el resultado. Si introduce una sal, se usan sus bytes UTF-8, lo que permite reproducir una clave de otro sistema. Nunca reutilice una misma sal para distintas contraseñas.

¿Puedo reproducir los vectores de prueba de RFC 7914?

Sí. La contraseña pleaseletmein con la sal SodiumChloride, exponente de coste 14, r = 8, p = 1 y una clave de 64 bytes produce 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887, el tercer vector de RFC.

¿Por qué están limitados los parámetros?

Scrypt asigna memoria real y se ejecuta en un servidor compartido. Limitar N a 32768, r a 8 y p a 4 mantiene cada derivación por debajo de unos 32 MiB de memoria y de uno o dos segundos de trabajo.

¿Cómo almaceno un hash de contraseña scrypt?

Guarde juntos la clave, la sal y N, r y p, porque necesitará todos esos valores para comprobar una contraseña más adelante. Bibliotecas como Node.js crypto.scrypt dejan el formato de almacenamiento a su criterio, mientras que otras usan sus propios formatos de cadena.

¿Se incluye mi contraseña en el resultado?

No. La respuesta contiene la clave, la sal y los parámetros, pero nunca la contraseña. No se registra ni se almacena nada.

¿Debería usar scrypt o Argon2?

Ambos requieren mucha memoria y son adecuados para contraseñas. Argon2id es la recomendación más reciente y es más fácil de ajustar, mientras que scrypt cuenta con amplia compatibilidad en bibliotecas estándar como Node.js y Python.

¿Qué cambian las opciones hex y Base64?

Cambian cómo se escriben la clave y la sal en el resultado. Los bytes son los mismos, así que elija el formato que lea su código.

Acerca de OneClick Pro

OneClick Pro es una colección gratuita de más de 150 herramientas web para las tareas cotidianas: convertir imágenes y unidades, dar formato y validar código, consultar dominios y SEO, y trabajar con texto, fechas y números. Todas las herramientas funcionan sin registro ni suscripción; los datos que introduce solo se utilizan para calcular el resultado y nunca se almacenan. Úsela como una caja de herramientas para tareas puntuales o añada a favoritos las que utiliza a diario.