DevToolPal
PT

Gerador e verificador de hash bcrypt

Gere o hash bcrypt de uma senha com o custo que escolher ou verifique se uma senha corresponde a um hash bcrypt.

Roda localmente, nada é enviado

Opções

Modo

Senha

Resultado

O resultado aparece aqui

O que faz

bcrypt é uma função de hash de senhas feita para ser lenta. Ao contrário de MD5 ou SHA-256, que podem ser calculados bilhões de vezes por segundo, o bcrypt tem um custo configurável que torna cada tentativa cara para quem roubar seu banco de dados. Ainda é uma das opções mais usadas para guardar senhas, ao lado de Argon2 e scrypt.

Esta ferramenta faz duas coisas:

  • Gerar hash: transforma uma senha em hash bcrypt com o custo e o prefixo de versão escolhidos.
  • Verificar: confere se uma senha corresponde a um hash bcrypt existente, por exemplo do seu banco de dados ou do arquivo de seed de um framework.

Como usar

  1. Digite uma Senha ou clique em Exemplo.
  2. No modo Gerar hash, escolha o Custo e a Versão. O hash aparece na hora; clique em Novo salt para obter outro.
  3. No modo Verificar, cole o Hash bcrypt para conferir. O resultado diz se a senha corresponde.

Como ler um hash bcrypt

Um hash como $2b$10$./3kakECWB0QfIgYzIqciuv449HNnwGbgExtJQQwQ1MofonthOdoK tem quatro partes: a versão 2b, o custo 10 (2¹⁰ rodadas de preparação da chave), um salt de 22 caracteres e um checksum de 31 caracteres. Tudo o que o servidor precisa para verificar a senha depois está nessa única string, por isso você guarda só o hash.

Limites importantes

O bcrypt lê apenas os primeiros 72 bytes da senha. Senhas mais longas, ou com muitos caracteres não ASCII (cada um ocupa de 2 a 4 bytes em UTF-8), são cortadas sem aviso. A ferramenta avisa quando isso acontece. Se precisar aceitar frases-senha muito longas, aplique um pré-hash ou considere o Argon2id.

Perguntas frequentes

› Por que recebo um hash diferente a cada vez para a mesma senha?

Cada hash usa um novo salt aleatório de 16 bytes, guardado dentro do próprio hash. Isso é proposital, para que senhas iguais não gerem hashes iguais. Para conferir uma senha, use Verificar em vez de comparar strings de hash.

› Que custo devo usar?

Escolha o maior custo que o seu servidor aguenta a cada login, normalmente de 10 a 12 hoje. Cada passo dobra o trabalho. Meça no hardware de produção; algo entre 100 e 300 ms por hash é uma meta comum.

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

É o mesmo algoritmo. $2b$ é o prefixo atual do OpenBSD, $2y$ é o que o password_hash do PHP grava e $2a$ é o antigo. A maioria das bibliotecas aceita os três, então escolha o que o seu sistema espera.

› Minha senha é enviada para algum lugar?

Não. O hash e a verificação rodam no seu navegador. A senha e o hash conferido ficam apenas na memória desta página; não são salvos nem adicionados aos links de compartilhamento.