- Início
- Criptografia
- Bcrypt
Gerador e verificador de hash bcrypt
Gere o hash bcrypt de uma senha e confira se uma senha corresponde a um hash.
Gerar hash de senha
0 de 72 bytes
Cada passo acima dobra o tempo. De 10 a 12 é o comum para logins. O hash guarda o próprio custo, então a verificação não precisa de configuração.
Digite uma senha: o hash dela aparece aqui.
Verificar senha com um hash
$2a$, $2b$ ou $2y$, com 60 caracteres. O custo é lido do hash.
Digite uma senha e um hash para verificá-los.
O bcrypt é um hash de senhas lento: os servidores guardam o hash bcrypt em vez da senha e conferem um login calculando o hash do que foi digitado. Cada hash carrega o próprio sal aleatório e o próprio custo, então a mesma senha gera um hash diferente a cada vez, e qualquer um deles é validado. Use esta página para criar um hash para um arquivo de configuração ou uma conta de teste, ou para descobrir se uma senha corresponde a um hash armazenado. O hash é calculado no seu navegador, então a senha nunca sai do seu dispositivo; é grátis e não exige cadastro.
Como gerar e verificar um hash bcrypt
- Digite a senha. O hash aparece enquanto você digita, com o tempo que levou no seu dispositivo.
- Mova o controle Custo se o seu sistema usar outro custo (o padrão é 10).
- Copie o hash $2b$ ou clique em Verificar abaixo para vê-lo ser validado.
- Para conferir um hash existente, cole-o com a senha em Verificar senha com um hash: você vê Corresponde ou Não corresponde.
Recursos
- Hashes $2b$ com um novo sal aleatório de 16 bytes a cada vez
- Custo de 4 a 16 (padrão 10), com o tempo que o hash levou no seu dispositivo
- Confere uma senha com hashes $2a$, $2b$ e $2y$: Corresponde ou Não corresponde, com a versão e o custo
- Conta os bytes em relação ao limite de 72 bytes do bcrypt e avisa quais caracteres são ignorados
- Roda em um worker em segundo plano, então um custo alto nunca trava a página: clique em Parar, ou em Gerar de novo para um novo sal
- Reconhece um hash Argon2 e leva à ferramenta Argon2
É privado?
Sim. A geração e a verificação rodam no seu navegador com WebAssembly, em um worker em segundo plano; a senha nunca é enviada nem armazenada.
Perguntas frequentes
Dá para descriptografar um hash bcrypt?
Não. O bcrypt é um hash de mão única: não existe chave que o transforme de volta na senha. O único jeito de descobrir uma senha é tentar adivinhá-la e calcular o hash de cada tentativa, o que o bcrypt torna lento de propósito. Para testar uma senha que você acha que é a certa, use Verificar senha com um hash.
Por que o hash muda a cada vez para a mesma senha?
Cada hash recebe um novo sal aleatório de 16 bytes, guardado dentro da própria string do hash. A verificação lê o sal de volta do hash, então todos esses hashes são validados com a mesma senha.
Qual custo devo escolher?
Cada passo acima dobra o trabalho. De 10 a 12 é o comum para logins; escolha o maior custo que o seu servidor aguenta a cada login, muitas vezes entre um quarto e meio segundo. O tempo mostrado aqui é o do seu próprio dispositivo.
Por que o bcrypt ignora parte de uma senha longa?
O bcrypt lê só os primeiros 72 bytes de uma senha, em UTF-8. Letras como as do coreano ocupam 3 bytes cada, então 24 delas já preenchem o limite. A ferramenta avisa quando há caracteres sendo ignorados; para frases-senha mais longas, o Argon2 não tem esse limite.
Qual é a diferença entre $2a$, $2b$ e $2y$?
As letras marcam correções de bugs antigos em implementações específicas; para senhas comuns, elas calculam o mesmo resultado. Esta ferramenta grava $2b$, o prefixo atual do OpenBSD, e confere os três. Os hashes criados aqui foram validados com a biblioteca bcrypt do Python e com o crypt() do Linux.