Playground de bcrypt
Gere hashes bcrypt com custo de 4 a 16, use seu próprio salt de 22 caracteres, veja o hash dividido em versão, custo, salt e hash, e verifique hashes.
0 de 72 bytes usados
2^custo = 1.024 rodadas
Deixe vazio para usar um salt aleatório.
O bcrypt (Provos e Mazières, 1999) é um hash adaptativo: cada +1 no custo dobra o trabalho. Escolha o maior custo que mantenha o login abaixo de cerca de 250 ms no seu servidor (10 ou mais). A saída usa o prefixo $2b$; hashes $2a$ e $2y$ são verificados da mesma forma.
Verificar uma senha com um hash
Executa totalmente no seu navegador. Seus dados nunca são enviados.
O que é Playground de bcrypt?
Experimente o bcrypt: escolha o fator de custo, informe um salt específico ou use um aleatório e veja o hash resultante dividido em versão, custo, salt e hash, junto com o tempo que levou. O verificador confere senhas contra hashes $2a$, $2b$ e $2y$.
Como usar Playground de bcrypt
- Digite a Senha; a dica mostra quantos dos 72 bytes do bcrypt estão sendo usados.
- Defina o Fator de custo (4–16) e, se quiser, um Salt de 22 caracteres.
- Clique em Gerar hash para ver o hash codificado, as suas partes e o tempo gasto.
- Cole qualquer hash bcrypt no painel de verificação para testar uma senha.
Exemplo
Password password, cost 4, salt abcdefghijklmnopqrstuu
$2b$04$abcdefghijklmnopqrstuughE8Ev8uGFaUgY2cNEySvxngrb/Jzdm
Coincide com a saída do pyca/bcrypt para a mesma senha e o mesmo salt.
Quando usar Playground de bcrypt
Use para reproduzir um hash bcrypt com um salt conhecido, escolher um fator de custo medindo os tempos ou verificar um hash de um banco de dados durante a depuração. Prefira Argon2id em projetos novos.
Como funciona Playground de bcrypt
O bcrypt (Provos & Mazières, 1999) executa a cara configuração de chave EksBlowfish 2^custo vezes e depois cifra 'OrpheanBeholderScryDoubt' 64 vezes. O salt de 16 bytes e o resultado de 23 bytes são escritos no alfabeto Base64 próprio do bcrypt (./A–Za–z0–9). O cálculo usa o hash-wasm (WebAssembly). Senhas com mais de 72 bytes UTF-8 são rejeitadas, porque o bcrypt ignora tudo depois do byte 72.
Casos de Uso Comuns
- Medir quanto tempo cada fator de custo leva
- Reproduzir um vetor de teste com salt fixo
- Conferir se um hash $2y$ do PHP é verificado
- Ensinar a estrutura dos hashes bcrypt
Perguntas Frequentes
Que fator de custo devo usar?
Pelo menos 10 (OWASP); escolha o maior valor que mantenha o hash abaixo de cerca de 250 ms no seu servidor. Cada +1 dobra o tempo.
Qual a diferença entre $2a$, $2b$ e $2y$?
Eles marcam correções de bugs antigos de implementação. Para senhas de até 72 bytes, produzem o mesmo hash, e os três são verificados aqui.
Por que minha senha longa é rejeitada?
O bcrypt usa só os primeiros 72 bytes. Truncar em silêncio faria senhas diferentes colidirem, então a ferramenta recusa.