Bcrypt Hash Generator & Checker

Gere hash bcrypt de senha e verifique compatibilidade com hash existente.

{{ bcryptHashChecker.message }}

{{ bcryptHashChecker.checkResult }}

Descrição

Niels Provos e David Mazières criaram o bcrypt em 1999 como parte do sistema OpenBSD, publicando o artigo 'A Future-Adaptable Password Scheme' — um título que envelheceu muito bem. O problema que eles queriam resolver era óbvio mas frequentemente ignorado na época: MD5 e SHA-1 foram projetados para ser rápidos, o que é exatamente o oposto do que você quer ao proteger senhas. Uma GPU moderna executa centenas de bilhões de hashes MD5 por segundo — o que torna ataques de força bruta offline devastadores quando um banco de dados é comprometido. Antes do bcrypt se popularizar, era comum encontrar senhas armazenadas como MD5 puro, às vezes sem sal. A violação da Adobe em 2013 expôs 153 milhões de contas com senhas em MD5 com sal estático por grupo de senha idêntica — em poucas horas, ferramentas de cracking quebraram a maior parte das senhas comuns.

A inovação central do bcrypt é o fator de custo: um parâmetro que controla quantas rodadas do algoritmo Blowfish são executadas internamente (2^custo). Fator 10 leva cerca de 100 ms por hash numa CPU moderna; fator 12, cerca de 400 ms; fator 14, 1,6 segundos. Esse parâmetro pode ser aumentado conforme o hardware evolui, sem precisar migrar todos os hashes existentes — novos logins simplesmente usam o novo custo, e hashes antigos continuam funcionando com o custo em que foram gerados. O hash bcrypt completo é autocontido: `$2a$12$[22 chars salt][31 chars hash]`. O prefixo `$2a$` identifica a versão, o `12` é o custo, os 22 caracteres seguintes são o sal gerado aleatoriamente e os 31 restantes são o hash resultante. Você nunca precisa guardar o sal separadamente — ele já está no hash. O OWASP recomenda mínimo fator 10, com 12 sendo um bom equilíbrio entre segurança e tempo de resposta em 2024.

Esta ferramenta é útil para quem precisa depurar fluxos de autenticação: verificar se uma senha específica bate com um hash bcrypt armazenado sem precisar executar código — útil ao investigar bug de login ou ao validar dados migrados de outro sistema. Uma observação sobre o ecossistema: o bcrypt domina em PHP (`password_hash()` usa bcrypt como padrão desde PHP 5.5), Python (biblioteca `bcrypt`), Node.js (`bcryptjs`) e Ruby (gem `bcrypt`). Para sistemas novos em 2024, o OWASP e o NIST recomendam Argon2id como primeira escolha — vencedor da Password Hashing Competition de 2015, resistente a aceleração por GPU e por hardware especializado (ASICs). Mas o bcrypt ainda é perfeitamente adequado para a maioria das aplicações e tem 25 anos de uso em produção sem quebras práticas conhecidas.

Detalhamento técnico

Pontos frequentes

  • Para que serve esta ferramenta?: Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.
  • Meus dados são enviados a algum servidor?: O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.
  • Posso usar em produção ou para dados reais?: Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.

Trecho para testar

  • Há também o bloco "Exemplo de Código" com o trecho completo; use esse texto rápido para colar nos campos e validar: Exemplo — $2a$12$Q6r9Qh2m4e7dJtWQ5Fh9x.8J2v3s4t5u6w7y8z9A1B2C3D4E5F6G

Guia da ferramenta

  • O que é bcrypt bcrypt é uma função de hash adaptativa para senhas, com sal embutido e fator de custo (cost/rounds). É padrão de mercado para armazenamento de senha em banco.

  • O que a ferramenta manipula Senha em texto puro, custo de processamento do bcrypt e hash bcrypt opcional para verificação.

  • O que a ferramenta faz Gera um hash bcrypt novo para a senha informada e, se você colar um hash existente, testa se a senha bate com ele.

  • Por que usar Testes manuais de login, migração de usuários, validação de massa de dados antiga e troubleshooting em ambiente de homologação.

Exemplo de Código

Exemplo de código
$2a$12$Q6r9Qh2m4e7dJtWQ5Fh9x.8J2v3s4t5u6w7y8z9A1B2C3D4E5F6G

Exemplo

$2a$12$Q6r9Qh2m4e7dJtWQ5Fh9x.8J2v3s4t5u6w7y8z9A1B2C3D4E5F6G

Perguntas frequentes

Para que serve esta ferramenta?

Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.

Meus dados são enviados a algum servidor?

O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.

Posso usar em produção ou para dados reais?

Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.