§

Gerador de Bcrypt

§

Gerar hash bcrypt

10 (1,024 rounds)

Bcrypt tem sido o esquema de hashing de senhas mais utilizado no desenvolvimento web desde sua estreia em 1999 por Provos e Mazières. NIST SP 800-63B recomenda hashing com uso intensivo de memória para armazenamento de senhas, e OWASP lista bcrypt como uma opção preferida ao lado de Argon2id. Rails utiliza bcrypt através do has_secure_password, Django o suporta como backend plugável, e desenvolvedores Node.js usam bcryptjs. O fator de custo controla quanto tempo leva um único hash — dobrar o custo dobra o trabalho. A maioria das aplicações usa custo 10 (1.024 rodadas) como linha de base, enquanto sistemas financeiros ou administrativos geralmente vão a 12 (4.096 rodadas). Esta ferramenta roda inteiramente no navegador usando JavaScript, então suas senhas nunca saem da sua máquina.

O que é bcrypt?

Bcrypt é uma função de hashing de senhas projetada por Niels Provos e David Mazières, baseada no cifrador Blowfish. Ao contrário de digests rápidos como MD5 ou SHA-256, bcrypt é deliberadamente lento e computacionalmente caro — isso torna ataques de força bruta contra hashes de senhas roubados impraticáveis. Bcrypt gera automaticamente um salt aleatório por senha, então senhas idênticas produzem hashes diferentes.

Como o bcrypt funciona?

O algoritmo bcrypt é executado inteiramente no seu navegador. Veja o que acontece passo a passo:

  1. Sua senha é codificada como bytes UTF-8 e alimentada no agendamento de chaves do bcrypt, que inicializa o array P de 4.184 bytes e as caixas S do cifrador Blowfish usando a senha e o salt.
  2. Um salt aleatório de 128 bits é gerado. O salt é misturado ao agendamento de chaves de modo que cada salt único produza um hash completamente diferente mesmo para a mesma senha.
  3. O agendamento de chaves é executado por 2^custo rodadas (ex., 2^10 = 1.024 iterações no custo 10). Cada iteração recifra o salt e as entradas do array P, tornando o cálculo mais lento conforme o custo aumenta.
  4. A saída final é uma string de 60 caracteres no formato $2b$<cost>$<salt><hash>, onde cost é preenchido com zero à esquerda (ex., 10), salt são 22 caracteres Base64, e hash são 31 caracteres Base64.
  5. Para verificação, o mesmo algoritmo é executado novamente com a senha candidata e o salt extraído do hash armazenado. Se o hash derivado corresponder ao armazenado, a senha está correta.

Qual fator de custo devo usar?

O fator de custo é o logaritmo do número de iterações — custo 10 significa 2^10 = 1.024 rodadas, custo 12 significa 4.096 rodadas. Escolha com base nas suas necessidades de segurança e hardware:

  • Custo 4-6 (16-64 rodadas) — apenas para desenvolvimento e testes. Rápido demais para produção; fornece proteção mínima.
  • Custo 8 (256 rodadas) — mínimo necessário para aplicações não críticas. Cerca de 6 ms em hardware moderno.
  • Custo 10 (1.024 rodadas) — linha de base atual recomendada. Leva cerca de 25 ms. Bom para a maioria das aplicações web.
  • Custo 12 (4.096 rodadas) — recomendado para portais administrativos, sistemas financeiros e aplicações de alta segurança. Leva cerca de 100 ms.
  • Custo 14 (16.384 rodadas) — alta segurança. Leva cerca de 400 ms. Use para senhas mestras, chaves de criptografia, ou quando a latência de login for aceitável.

Por que usar este gerador de bcrypt?

  • Sua privacidade é protegida — cada senha é hasheada localmente no seu navegador e nenhum dado sai do seu dispositivo.
  • Você tem ambos os modos lado a lado: gerar novos hashes ou verificar os existentes sem trocar de página.
  • O fator de custo é ajustável de 4 (rápido) a 15 (muito lento), para que você possa atender às necessidades de segurança da sua aplicação.
  • Os hashes usam o formato padrão $2b$ que funciona com todas as principais linguagens e frameworks.

Quais são as aplicações comuns do bcrypt?

Bcrypt é amplamente usado para armazenamento e verificação de senhas na indústria:

  • Autenticação de aplicações web — armazenar hashes de senhas de usuários em bancos de dados para que senhas em texto plano nunca sejam salvas.
  • Hashing de chaves de API — hashear segredos de API antes de armazená-los, para que uma violação de banco de dados não vaze credenciais válidas.
  • Auditoria de migração — verificar se hashes de senhas legados de um sistema antigo ainda autenticam usuários após atualizar a camada de autenticação.

Como é um hash bcrypt?

Hashear a senha hunter2 com fator de custo 10 produz uma string como $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy. O formato se divide em: $2b$ (versão do algoritmo), 10 (fator de custo), $, depois 22 caracteres de salt e 31 caracteres de hash, todos codificados em Base64. Cada execução com a mesma senha produz um hash diferente por causa do salt aleatório.

Este gerador de bcrypt é executado inteiramente no seu navegador usando uma implementação em JavaScript puro. Hasheie senhas antes de armazená-las, verifique hashes existentes e ajuste o fator de custo para atender aos seus requisitos de segurança — tudo sem enviar um único byte a um servidor.