Hash e Segurança

Gerador de Hash Bcrypt

Gere um hash bcrypt devidamente salgado para armazenar uma senha.

Avalie esta ferramenta

Como usar Gerador de Hash Bcrypt

  1. Digite a senha que deseja hashear.
  2. Escolha um fator de custo — de 10 a 12 atende à maioria dos sites.
  3. Clique em Gerar e copie o hash para o seu banco de dados.

Sobre Gerador de Hash Bcrypt

O bcrypt é o que você realmente deveria armazenar ao salvar uma senha. Ao contrário do MD5 ou do SHA-256 — que são feitos para ser rápidos — o bcrypt é deliberadamente lento, e você controla exatamente o quão lento por meio do fator de custo. Cada passo a mais dobra o trabalho, então o custo 12 leva aproximadamente quatro vezes mais tempo que o custo 10. Isso praticamente não importa quando um usuário faz login uma única vez, mas torna extremamente caro quebrar por força bruta um banco de dados roubado.

O bcrypt também adiciona salt a cada hash automaticamente. É por isso que clicar em Gerar duas vezes com a mesma senha resulta em dois hashes diferentes — e ambos estão corretos. O salt aleatório é armazenado dentro da própria string de hash, o que é o que impede invasores de pré-calcular tabelas rainbow. Para verificar uma senha depois, você nunca faz o hash novamente e compara; você usa um verificador, que lê o salt a partir do hash armazenado. Nosso verificador de bcrypt faz exatamente isso.

O formato de saída é $2y$10$…$2y$ identifica o bcrypt, depois vem o custo, e então salt e hash juntos em uma única string de 60 caracteres. Este é o mesmo formato produzido pela função password_hash() do PHP, pela biblioteca bcrypt do Python e pela bcryptjs do Node, então um hash gerado aqui funciona com todos eles.

Perguntas frequentes

Por que a mesma senha gera um hash diferente toda vez?

Porque o bcrypt adiciona um salt aleatório a cada hash. Isso é intencional e é o que torna o bcrypt seguro. Use um verificador — não uma comparação de strings — para checar uma senha.

Qual fator de custo devo usar?

Procure algo em torno de 250ms por hash no seu próprio hardware. Em hospedagem compartilhada típica, isso fica em torno de 10 a 12. Um valor mais alto é mais seguro, mas deixa cada login mais lento.

Existe um limite de comprimento para a senha?

Sim — o bcrypt só lê os primeiros 72 bytes e ignora silenciosamente o restante. Esta ferramenta avisa você em vez de truncar silenciosamente. Se precisar de algo mais longo, use Argon2.

bcrypt ou Argon2?

O Argon2id é a recomendação atual e resiste melhor a ataques com GPU. O bcrypt continua sendo uma escolha sólida e extremamente bem testada, com suporte em praticamente todo lugar.

Minha senha é armazenada?

Não. Ela é hasheada e descartada imediatamente — nunca gravada em disco, nunca registrada. Para uma senha real em produção, gerá-la no seu próprio servidor continua sendo o hábito mais seguro.