Hashes/Cripto
Scrypt Hash + Verify
Faça hash de senhas com scrypt (RFC 7914, KDF memory-hard) com verificação em relação a um 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.
Artigo sobre esta ferramenta: Scrypt: por que o algoritmo precisa de tanta memória
Perguntas frequentes
Como o scrypt difere do bcrypt ou PBKDF2?
O scrypt é deliberadamente exigente em memória além de intensivo em CPU, tornando-o muito mais caro de quebrar usando GPUs ou hardware ASIC personalizado em comparação com bcrypt ou PBKDF2, que resistem principalmente à força bruta baseada em CPU.
O que os parâmetros N, r e p controlam?
N define o custo de CPU/memória (deve ser potência de dois), r define o tamanho do bloco que afeta o uso de memória por operação, e p define a paralelização — aumentar qualquer um deles eleva o custo de recursos tanto para uso legítimo quanto para ataques.
O scrypt ainda é uma boa escolha comparado ao Argon2?
O scrypt continua sólido e testado em batalha, mas o Argon2 (vencedor da Password Hashing Competition) geralmente é recomendado para novos sistemas, pois oferece controle mais refinado sobre memória e resistência a ataques de canal lateral.
Quanta memória o scrypt realmente consome?
Aproximadamente 128 × N × r bytes por cálculo. Com parâmetros típicos (N=16384, r=8), são cerca de 16 megabytes por hash — insignificante para um único login, mas relevante com milhares de autenticações simultâneas no servidor.
Onde mais o scrypt é usado, além do hash de senhas?
O scrypt é conhecido como algoritmo de proof-of-work em algumas criptomoedas (como o Litecoin) — foi escolhido justamente pela resistência à mineração em dispositivos ASIC especializados, característica do bitcoin com seu SHA-256.