Conversor Gratuito

Gerador de Senha Bcrypt

Gere hashes bcrypt seguros para senhas instantaneamente no seu navegador. Escolha o fator de custo e faça o hash no cliente — completamente privado e gratuito.

Sobre esta ferramenta

bcrypt é uma função de hash de senha desenvolvida por Niels Provos e David Mazières em 1999, derivada da cifra Blowfish. Ao contrário das funções hash de uso geral, como SHA-256, o bcrypt é deliberadamente lento – e configuravelmente lento, por meio de um parâmetro de custo – que é exatamente a propriedade que um hasher de senha precisa. Uma função hash mais rápida permite que os invasores apliquem força bruta em mais candidatos por segundo; um mais lento os limita.

O bcrypt também incorpora salt por senha automaticamente, eliminando uma classe inteira de ataques baseados em tabelas Rainbow pré-computadas. Os parâmetros salt e cost são armazenados como parte da saída do bcrypt, portanto, a verificação precisa apenas do hash armazenado e da senha candidata – sem gerenciamento separado de salt. Essa combinação de lentidão, sal e formato independente tornou o bcrypt o hash de senha padrão por duas décadas e uma escolha forte hoje.

Existem alternativas modernas. Argon2 venceu a competição de hash de senha de 2015 e oferece resistência de memória além de resistência de tempo. scrypt oferece propriedades semelhantes. Para novos designs, Argon2id é a escolha recomendada. O bcrypt permanece aceitável e amplamente implantado, especialmente em ambientes onde o Argon2 não está disponível.

Por que hash de senhas com bcrypt

Armazenar senhas como texto simples é negligência médica. Armazená-los com um hash rápido como SHA-256 é um pouco melhor – as GPUs modernas computam bilhões de hashes SHA-256 por segundo, tornando possíveis ataques de força bruta contra qualquer senha comum em horas. A lentidão deliberada do bcrypt altera a economia: com fator de custo 12, um invasor gasta cerca de 250 ms por senha candidata, tornando a força bruta impraticável para qualquer senha não trivial.

O sal automático por senha do bcrypt também derrota ataques de tabela arco-íris. Dois usuários com a mesma senha produzem hashes bcrypt diferentes porque seus sais são diferentes. Comprometer o banco de dados de senhas não permite que um invasor identifique rapidamente senhas comuns ou ocorrências em tabelas pré-computadas.

Como usar

Digite uma senha, escolha o custo e obtenha o hash.

  1. Digite a senha: Digite a senha para hash. A ferramenta funciona inteiramente no seu navegador; a senha não é transmitida a lugar nenhum.
  2. Escolha o fator de custo: O padrão é 10, produzindo um tempo de hash de aproximadamente 100 ms em hardware moderno. 12 é recomendado para novas aplicações (250 ms). Valores mais altos aumentam a segurança ao custo de uma verificação mais lenta.
  3. Gerar: O hasher gera um salt aleatório de 16 bytes, executa a derivação da chave bcrypt e produz um hash no formato padrão $2b$.
  4. Use o hash: Armazene a saída completa ($2b$cost$saltAndHash) em seu banco de dados de senhas. A verificação usa a mesma biblioteca para comparar um candidato com o hash armazenado.

Casos de uso comuns

Detalhes técnicos

bcrypt usa uma fase de configuração de chave da cifra Blowfish modificada, repetida 2 vezes o custo. O fator de custo é logarítmico – o custo 12 é duas vezes mais lento que o custo 11, quatro vezes mais lento que o custo 10. Essa escala logarítmica permite que os administradores aumentem o custo ao longo do tempo, à medida que o hardware melhora, sem redesenhar o sistema.

O formato de saída é $version$cost$saltAndHash onde saltAndHash é codificado em base64 com um alfabeto personalizado. A versão é normalmente $2b$ (a variante moderna com o bug envolvente corrigido) ou $2y$ (específico do PHP, equivalente). O sal tem 16 bytes; o hash tem 24 bytes; juntos, eles codificam 53 caracteres de base64 personalizado.

O comprimento máximo de entrada é de 72 bytes (limite de comprimento da chave Blowfish). Senhas mais longas são truncadas silenciosamente, o que é uma peculiaridade de longa data do bcrypt. A prática recomendada é limitar o comprimento da senha a 72 bytes ou pré-hash com SHA-256 para normalizar o comprimento antes do bcrypt.

Melhores Práticas

Perguntas frequentes

Posso personalizar a saída gerada?
Sim. A ferramenta oferece várias opções de personalização para adaptar a saída às suas necessidades específicas. Ajuste as configurações antes de gerar ou regenere com diferentes opções.
O conteúdo gerado é de uso gratuito?
Sim. Tudo o que você gera com esta ferramenta é seu para uso pessoal, educacional ou comercial, sem quaisquer restrições ou requisitos de atribuição.
Isso requer uma conta?
Não. A ferramenta está pronta para uso imediato, sem inscrição, e-mail e registro. Basta abrir a página e começar a gerar.
Meus dados de entrada são mantidos em sigilo?
Sim. Todo o processamento acontece no seu navegador. Seus dados de entrada e saída gerada nunca são enviados para nenhum servidor externo.
Devo adicionar meu próprio sal?
Não. O bcrypt gera e armazena um sal aleatório automaticamente. Adicionar seu próprio sal é desnecessário e pode causar erros sutis. Use a geração de salt padrão da biblioteca.
A senha é enviada para um servidor?
Não. O hashing bcrypt acontece no seu navegador. A senha nunca sai do seu dispositivo.
Por que existem variantes $2a$, $2b$, $2y$?
$2a$ é o original. $2b$ corrige um bug envolvente descoberto em 2014. $2y$ é específico do PHP, funcionalmente equivalente a $2b$. Novos sistemas devem produzir hashes de $2b$.
Posso fazer o downgrade de um hash de alto custo para um custo mais baixo?
Não. O hash inclui o custo como parte da saída e a verificação exige o mesmo custo. Para alterar o custo, faça um novo hash no próximo login bem-sucedido.