# Scrypt Generator

Derive uma chave scrypt a partir de uma senha, usando um salt aleatório ou personalizado. Escolha o expoente de custo até 15 (N até 32768), o tamanho do bloco r até 8, o paralelismo p até 4 e o comprimento da chave entre 16 e 64 bytes. A ferramenta segue a RFC 7914 e retorna a chave, o salt usado e os parâmetros em hexadecimal ou Base64, prontos para comparar com Node.js crypto.scrypt, Python hashlib ou libsodium. A senha não é exibida.

## Perguntas frequentes

### O que é scrypt?

Scrypt é uma função de derivação de chave com alto consumo de memória, criada por Colin Percival e padronizada na RFC 7914. Ela deriva uma chave a partir de uma senha e de um salt, exigindo que cada tentativa use um grande bloco de memória. É usada para armazenamento de senhas, criptografia de discos e algumas criptomoedas.

### O que significam N, r e p?

N é o custo de CPU e memória e deve ser uma potência de dois; r é o tamanho do bloco e p é o fator de paralelização. O uso de memória é de aproximadamente 128 vezes N vezes r bytes, portanto N = 16384 com r = 8 requer 16 MiB. Aqui, N vai até 32768, r até 8 e p até 4.

### Quais são os parâmetros padrão?

Os valores padrão são N = 16384 (expoente de custo 14), r = 8, p = 1 e uma chave de 32 bytes: as configurações interativas recomendadas no artigo sobre scrypt. Aumente N para reforçar a proteção, até onde o seu sistema permitir.

### Como o salt é escolhido?

Se o campo de salt estiver vazio, a ferramenta cria 16 bytes aleatórios e os mostra no resultado. Se você inserir um salt, serão usados os bytes UTF-8 correspondentes, permitindo reproduzir uma chave de outro sistema. Nunca reutilize o mesmo salt para senhas diferentes.

### Posso reproduzir os vetores de teste da RFC 7914?

Sim. A senha pleaseletmein com o salt SodiumChloride, expoente de custo 14, r = 8, p = 1 e uma chave de 64 bytes gera 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887, o terceiro vetor da RFC.

### Por que os parâmetros têm limites?

Scrypt aloca memória real e é executado em um servidor compartilhado. Limitar N a 32768, r a 8 e p a 4 mantém cada derivação abaixo de aproximadamente 32 MiB de memória e de um ou dois segundos de execução.

### Como armazeno um hash de senha scrypt?

Armazene juntos a chave, o salt e N, r e p, pois você precisará de todos esses valores para verificar uma senha depois. Bibliotecas como Node.js crypto.scrypt deixam o formato de armazenamento a seu critério, enquanto outras usam seus próprios formatos de string.

### Minha senha está incluída no resultado?

Não. A resposta contém a chave, o salt e os parâmetros, mas nunca a senha. Nada é registrado nem armazenado.

### Devo usar scrypt ou Argon2?

Ambos são resistentes ao uso intensivo de memória e adequados para senhas. Argon2id é a recomendação mais recente e é mais fácil de ajustar, enquanto scrypt tem amplo suporte em bibliotecas padrão, como Node.js e Python.

### O que as opções hex e Base64 alteram?

Elas alteram a forma como a chave e o salt são escritos no resultado. Os bytes são os mesmos, então escolha o formato que seu código consegue ler.

Seu anúncio aqui?

[Envie-nos um e-mail](mailto:hi@dennn.is?subject=Publicidade%20em%20OneClick%20Pro)

[Anúncio O conjunto de plugins pronto para agentes para WordPress.](https://sleekwp.com/?ref=oneclickpro)
