Hashes/Cripto
Scrypt Hash + Verify
Hashea contraseñas con scrypt (RFC 7914, KDF memory-hard) con verificación contra un hash existente.
Scrypt (RFC 7914) was one of the first memory-hard password-hashing algorithms: it deliberately requires a lot of RAM, not just CPU time, to make parallel brute-forcing on GPUs and ASICs harder.
How to use it
- Hash: enter a password and tune the parameters (N — memory cost, r — block size, p — parallelism) to get a hash.
- Verify: paste a password and an existing scrypt hash to check whether they match.
- Every hash uses a fresh random salt, so the same password produces a different hash each time.
Common uses
- Checking that a backend correctly hashes passwords with scrypt before storing them.
- Generating a test scrypt hash for fixtures or seed data during development.
- Comparing scrypt against bcrypt and Argon2 when choosing a hashing algorithm for a new project.
Things to keep in mind
The N parameter (memory cost) increases both required memory and compute time exponentially — tune it to your server's actual capacity.
Scrypt has been superseded by Argon2 (the official Password Hashing Competition winner) as the recommended choice for new systems, though scrypt itself still isn't considered unsafe.
Artículo sobre esta herramienta: Scrypt: por qué el algoritmo necesita tanta memoria
Preguntas frecuentes
¿En qué se diferencia scrypt de bcrypt o PBKDF2?
Scrypt es deliberadamente exigente en memoria además de en CPU, lo que lo hace mucho más costoso de crackear con GPU o hardware ASIC personalizado en comparación con bcrypt o PBKDF2, que principalmente resisten la fuerza bruta basada en CPU.
¿Qué controlan los parámetros N, r y p?
N fija el costo de CPU/memoria (debe ser potencia de dos), r fija el tamaño de bloque que afecta el uso de memoria por operación, y p fija la paralelización — aumentar cualquiera eleva el costo de recursos tanto para el uso legítimo como para los ataques.
¿Sigue siendo scrypt una buena opción frente a Argon2?
Scrypt sigue siendo sólido y probado en batalla, pero Argon2 (ganador de la Password Hashing Competition) suele recomendarse para sistemas nuevos, ya que ofrece un control más fino sobre memoria y resistencia a ataques de canal lateral.
¿Cuánta memoria consume realmente scrypt?
Aproximadamente 128 × N × r bytes por cada cálculo. Con parámetros típicos (N=16384, r=8) son unos 16 megabytes por hash — insignificante para un solo inicio de sesión, pero relevante con miles de autenticaciones simultáneas en un servidor.
¿Dónde más se usa scrypt, además de para hashear contraseñas?
Scrypt es conocido como algoritmo de proof-of-work en algunas criptomonedas (por ejemplo, Litecoin) — se eligió precisamente por su resistencia a la minería con dispositivos ASIC especializados, algo característico de bitcoin con su SHA-256.