Bcrypt Hash Generator e Validador

Gere hashes bcrypt com o fator de custo desejado e confira se uma senha corresponde a um hash existente, tudo sem transmitir a senha.

Gerar hash

Verificar senha

Usar via API

Bcrypt é propositalmente lento: um hash com custo 10 consome cerca de 100 ms de CPU, acima do limite de 10 ms por requisição do plano gratuito da Cloudflare. Use uma biblioteca local, como bcryptjs (Node) ou bcrypt (Python).

Como usar

  1. Em Gerar hash, digite a senha e ajuste o custo (padrão 10).
  2. Clique em Gerar hash e copie o resultado.
  3. Em Verificar senha, informe a senha e o hash ($2a$, $2b$ ou $2y$).
  4. Clique em Verificar para ver se correspondem.

Casos de uso

  • Criar o hash da senha de um usuário administrador em seeds de banco.
  • Depurar falhas de login comparando a senha com o hash armazenado.
  • Medir quanto tempo cada fator de custo leva para calibrar o backend.

Conceitos técnicos

Por que bcrypt

bcrypt é uma função de derivação de senha baseada no cifrador Blowfish, propositalmente lenta e com salt aleatório de 128 bits embutido no próprio hash. O salt impede tabelas pré-computadas e garante que senhas iguais gerem hashes diferentes.

Fator de custo

O custo define 2^custo iterações do key schedule. Cada incremento dobra o tempo de cálculo. A recomendação atual é escolher o maior custo que mantenha o login abaixo de cerca de 250 ms no seu servidor; 10 a 12 é comum.

Anatomia do hash

Em $2b$10$N9qo8uLOickgx2ZMRZoMye..., 2b é a versão, 10 o custo, os 22 caracteres seguintes são o salt e os 31 finais o hash, em uma variante própria de Base64.

Perguntas frequentes

Existe limite de tamanho de senha?

Sim. bcrypt considera apenas os primeiros 72 bytes. A ferramenta avisa quando a senha ultrapassa esse limite; acentos ocupam 2 bytes em UTF-8.

Qual a diferença entre $2a$, $2b$ e $2y$?

São revisões que corrigem bugs de implementação antigos. Para senhas ASCII são equivalentes, e bibliotecas modernas verificam todas.

Por que gerar o mesmo hash duas vezes dá resultados diferentes?

Cada geração usa um salt aleatório novo. A verificação funciona porque o salt está gravado dentro do próprio hash.

Ferramentas relacionadas