Playground de scrypt

Calcule o scrypt com N, r, p, salt e tamanho de chave personalizados, veja a memória necessária e obtenha hex bruto ou uma string $scrypt$. Validado com os vetores do RFC 7914.

Memória necessária: 128 × N × r = 128 MiB

O scrypt (RFC 7914) é memory-hard. Mínimo da OWASP: N=2^17, r=8, p=1 (128 MiB). Calculado com hash-wasm no seu navegador; valores grandes de N exigem muita memória.

Verificar uma senha com um hash

Executa totalmente no seu navegador. Seus dados nunca são enviados.

O que é Playground de scrypt?

Execute a função de derivação de chaves scrypt (RFC 7914), que exige muita memória, com seus próprios parâmetros de custo e salt. A ferramenta mostra quanta memória as configurações exigem, a chave derivada bruta e uma string codificada $scrypt$ que você pode verificar depois.

Como usar Playground de scrypt

  1. Digite a Senha.
  2. Escolha o Custo de CPU/memória (N) como potência de dois, o Tamanho do bloco (r), o Paralelismo (p) e o Tamanho da chave.
  3. Digite um Salt e a sua codificação, ou deixe vazio para um salt aleatório.
  4. Clique em Gerar hash e copie o resultado; verifique-o no painel abaixo.

Exemplo

Entrada
Password password, salt NaCl, N=1024, r=8, p=16, 64 bytes
Saída
fdbabe1c9d3472007856e7190d01e9fe7c6ad7cbc8237830e77376634b3731622eaf30d92e22a3886ff109279d9830dac727afb94a83ee6d8360cbdfa2cc0640

Vetor de teste 2 da seção 12 do RFC 7914.

Quando usar Playground de scrypt

Use para ajustar os parâmetros do scrypt, conferir os vetores do RFC 7914 ou depurar hashes do crypto.scrypt do Node.js, do hashlib.scrypt do Python ou do passlib. Valores grandes de N exigem centenas de MiB e podem falhar em dispositivos móveis.

Como funciona Playground de scrypt

O scrypt executa o PBKDF2-HMAC-SHA-256 uma vez para expandir a entrada; depois a função ROMix preenche 128 × N × r bytes de memória com saídas do BlockMix baseado em Salsa20/8 e as lê de volta em uma ordem dependente dos dados, p vezes, antes de uma etapa final de PBKDF2. A forma codificada é $scrypt$ln=<log2 N>,r=<r>,p=<p>$<salt>$<hash> em Base64. O cálculo usa o hash-wasm (WebAssembly).

Casos de Uso Comuns

  • Escolher N para que o hash leve cerca de 100 ms
  • Reproduzir os vetores de teste do RFC 7914
  • Depurar hashes criados com o crypto.scrypt do Node
  • Mostrar como o custo de memória cresce com N e r

Perguntas Frequentes

Quais parâmetros a OWASP recomenda?

Pelo menos N=2^17, r=8, p=1, o que usa 128 MiB, ou combinações como N=2^16, r=8, p=2.

Quanta memória o scrypt usa?

128 × N × r bytes, mostrados abaixo dos parâmetros. N=2^17 e r=8 exigem 128 MiB.

O scrypt é melhor que o bcrypt?

Ele exige muita memória, o que encarece ataques com GPU e ASIC. O Argon2id é a primeira escolha atual, e o scrypt uma boa segunda opção.

Explore mais categorias