Toolonit
  1. Início
  2. Criptografia
  3. 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

Custo

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

  1. Digite a senha. O hash aparece enquanto você digita, com o tempo que levou no seu dispositivo.
  2. Mova o controle Custo se o seu sistema usar outro custo (o padrão é 10).
  3. Copie o hash $2b$ ou clique em Verificar abaixo para vê-lo ser validado.
  4. 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.

Ferramentas relacionadas