bcrypt online - Hashing de palavras-passe

Gere e verifique hashes bcrypt de palavras-passe online no navegador. Este gerador bcrypt cria hashes $2b$ com salt e fator de custo configurável, e o verificador compara uma palavra-passe com hashes $2a$, $2b$ ou $2y$ existentes sem enviar dados.

Senha
0 caract. · 0 bytes
Hash para verificar
Testar:
Resultado
✓ Processamento local no navegador ✓ A entrada não é enviada ao servidor
Exemplos
Palavra-passe comum
Cost factor (4–31): 12
Entrada palavrapasse123

Uma palavra-passe típica. Clique em Compute para gerar um hash bcrypt com salt e fator de custo padrão.

Frase-passe
Cost factor (4–31): 12
Entrada cavalo correto bateria agrafo

Exemplo de uma frase-passe mais longa. bcrypt usa apenas os primeiros 72 bytes, por isso palavras-passe Unicode muito longas exigem cuidado.

Custo rápido compatível
Cost factor (4–31): 10
Entrada demo-login-legado

Gera um hash bcrypt com cost 10, útil para comparar um work factor compatível mais baixo com o valor padrão.

Palavra-passe admin com custo alto
Cost factor (4–31): 14
Entrada frase-admin-cofre-2026

Usa um custo bcrypt mais alto para mostrar o compromisso entre segurança e desempenho. A geração e a verificação serão visivelmente mais lentas.

O que é bcrypt?

bcrypt é uma função de hashing de palavras-passe criada por Niels Provos e David Mazières e publicada na USENIX em 1999. Baseia-se na cifra Blowfish, mas foi feita para armazenar palavras-passe, não para checksums gerais: cada tentativa de adivinhar uma palavra-passe é deliberadamente lenta, usa um salt único e pode ficar mais cara ao aumentar o fator de custo.

Um hash bcrypt de palavra-passe é uma string autónoma como $2b$12$.... Ela contém a versão do algoritmo, o custo, um salt de 128 bits codificado no Base64 próprio do bcrypt e o hash final. Por isso, uma base de dados normalmente guarda uma única string bcrypt por palavra-passe; a biblioteca de verificação consegue ler os parâmetros a partir dela.

Use esta ferramenta bcrypt online quando precisar de um bcrypt hash generator para documentação, dados de teste, verificações de migração ou experiências rápidas com fatores de custo. Use o modo Verify quando já tiver um hash bcrypt e quiser confirmar se uma palavra-passe candidata corresponde.

Fator de custo explicado

O fator de custo do bcrypt é um expoente: cost 10 representa cerca de 2^10 unidades de trabalho interno, cost 12 cerca de 2^12, e cada aumento de 1 duplica o trabalho para atacantes e para logins legítimos. Uma base conservadora para bcrypt é um work factor de 10 ou mais quando Argon2id ou scrypt não estão disponíveis; o valor prático deve ser medido no servidor que irá processar autenticação real.

Esta ferramenta expõe valores de cost de 4 a 31, com 12 como padrão. Valores baixos servem apenas para demonstrações e testes rápidos; em produção, escolha o custo mais alto que ainda mantenha a verificação de login aceitável sob carga. Na prática, procure uma demora percetível mas razoável, monitorize a latência de login e aumente o custo à medida que o hardware melhora.

O custo fica armazenado em cada hash bcrypt, portanto hashes antigos continuam verificáveis após uma mudança de política. Um padrão comum é verificar o hash antigo durante o login, recalcular a mesma palavra-passe com o novo custo e substituir o valor guardado.

Como funcionam o gerador e a verificação

No modo Generate, introduza uma palavra-passe ou frase-passe, escolha o fator de custo e execute o cálculo. O navegador cria automaticamente um salt aleatório e devolve uma string bcrypt que começa por $2b$. A mesma palavra-passe deve produzir hashes diferentes em execuções repetidas porque o salt muda sempre.

No modo Verify, cole a palavra-passe candidata como entrada e o hash bcrypt guardado no campo de verificação. A ferramenta lê o custo e o salt do hash guardado, executa bcrypt com os mesmos parâmetros e indica se a palavra-passe corresponde. Reconhece strings bcrypt modernas iniciadas por $2a$, $2b$ ou $2y$.

Tudo corre do lado do cliente com a implementação JavaScript de bcrypt usada pela página. A palavra-passe e o hash não são enviados para o servidor, o que torna a ferramenta útil para exemplos e depuração. Para contas reais, faça sempre hashing e verificação no backend com uma biblioteca de servidor mantida, rate limiting, registos de auditoria e práticas seguras de operação.

Casos de uso comuns de bcrypt

Desenvolvedores costumam precisar de bcrypt para tarefas práticas: criar um hash de palavra-passe para um utilizador de teste, verificar se uma palavra-passe corresponde a um hash guardado, comparar fatores de custo, entender uma string $2b$ ou planear uma migração a partir de armazenamento legado.

Esta página cobre perguntas comuns sobre bcrypt generator e verifier: como gerar um hash bcrypt online, como verificar um hash bcrypt, o que é um salt bcrypt, como funciona o fator de custo, como bcrypt se compara ao Argon2 e porque o limite de 72 bytes importa. O padrão de produção é simples: gere um hash com salt único, guarde a string bcrypt completa, verifique com uma biblioteca mantida e recalcule o hash quando o custo guardado ficar abaixo da política atual.

FAQ

bcrypt trunca internamente palavras-passe de entrada para 72 bytes. Tudo depois do byte 72 é ignorado silenciosamente e não acrescenta segurança. Uma alternativa comum é primeiro aplicar SHA-256 à palavra-passe para obter 32 bytes e passar esse resultado ao bcrypt; outra opção é usar Argon2id, que não tem esse limite.

Para novos sistemas, Argon2id costuma ser preferível porque é memory-hard e torna ataques com GPU mais caros do que contra bcrypt. Escolha bcrypt quando precisar de amplo suporte de bibliotecas, comportamento estável ou compatibilidade com plataformas que já guardam hashes bcrypt. bcrypt continua aceitável com um fator de custo forte.

São versões do formato codificado do bcrypt. $2a$ é o original; $2y$ foi introduzido no PHP para marcar implementações corrigidas após um bug de sign-extension em 2011; $2b$ é o formato padrão moderno usado por bibliotecas compatíveis com OpenBSD. Novos hashes aqui usam $2b$, e hashes antigos $2a$ e $2y$ costumam verificar corretamente em bibliotecas modernas.

Não. bcrypt corre totalmente no navegador com a biblioteca bcryptjs; a sua palavra-passe não sai do dispositivo. Não há pedidos de rede, logs nem processamento no servidor. Ainda assim, para contas reais em produção use uma biblioteca no servidor com aleatoriedade segura, rate limiting e monitorização.

Não. bcrypt é uma função unidirecional de hashing de palavras-passe, não cifragem. Não é possível recuperar a palavra-passe original a partir do hash. A verificação funciona calculando o hash de uma palavra-passe candidata com o custo e o salt embutidos na string bcrypt guardada, e comparando o resultado.

bcrypt usa um salt aleatório único para cada hash gerado. O salt fica guardado na saída, por isso a verificação continua a funcionar, mas dois utilizadores com a mesma palavra-passe não devem ter hashes guardados idênticos. Isto evita lookup tables simples e torna ataques em massa mais caros.

Use pelo menos 10 para bcrypt e meça no seu servidor real de autenticação. Cost 12 é um ponto de partida comum para aplicações modernas, mas o valor correto é o custo mais alto que o fluxo de login, tarefas em segundo plano e controlos contra abuso conseguem suportar sem atraso inaceitável.

Normalmente não. Uma string bcrypt padrão já contém versão, custo, salt e hash. Guarde o valor completo exatamente como foi gerado, por exemplo uma string iniciada por $2b$12$..., e deixe a biblioteca bcrypt analisá-la durante a verificação.

Sim. O verificador aceita os prefixos bcrypt comuns $2a$, $2b$ e $2y$. Novos hashes gerados por esta ferramenta usam o formato moderno $2b$.

bcrypt continua aceitável quando configurado com um fator de custo forte, mas Argon2id é preferível para novo armazenamento de palavras-passe quando disponível, porque é memory-hard. Escolha bcrypt quando precisar de compatibilidade ampla, suporte de plataforma ou consistência ao migrar uma base existente de hashes bcrypt.
Ferramentas relacionadas

Gerador HMAC

Gere um HMAC com texto e uma chave secreta diretamente no navegador.