Gerador e Verificador de Hash Bcrypt
Gere e verifique hashes bcrypt de senha online — custo ajustável, prefixos $2b$/$2a$/$2y$. 100% no seu navegador; sua senha nunca é enviada.
O Que É o Bcrypt?
O bcrypt é uma função de hashing de senha projetada especificamente para armazenar senhas com segurança. Em vez de manter uma senha em texto puro, um servidor armazena um hash bcrypt de mão única; quando um usuário faz login, o servidor aplica o hash na senha enviada da mesma forma e verifica se os dois hashes coincidem. O bcrypt é construído sobre a cifra Blowfish e foi projetado por Niels Provos e David Mazières em 1999, com um recurso deliberado que o distingue de hashes de uso geral como o SHA-256: ele é lento de propósito, e você pode torná-lo mais lento ao longo do tempo com um fator de custo ajustável, conforme o hardware fica mais rápido.
Um hash bcrypt é uma única string autodescritiva de 60 caracteres — por exemplo $2b$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq. Ele empacota quatro partes: a versão ($2b$), o custo (12, um fator de trabalho logarítmico), um sal Base64 de 22 caracteres e o digesto Base64 de 31 caracteres. Como o sal é aleatório e embutido no hash, a mesma senha produz um hash diferente a cada vez — o que derrota rainbow tables e oculta o fato de que dois usuários escolheram a mesma senha. A verificação lê o sal e o custo de volta a partir do hash armazenado e re-aplica o hash na candidata, então o bcrypt nunca precisa (e não consegue) reverter um hash para recuperar a senha.
Esta ferramenta roda inteiramente no seu navegador usando uma implementação bcrypt embutida — nenhuma senha ou hash é jamais enviada. Use-a para gerar um hash com um custo e prefixo escolhidos, para verificar uma senha contra um hash existente e para ler a anatomia de um hash. Ela combina naturalmente com outras ferramentas de segurança: proteja um diretório com HTTP Basic Auth usando nosso Gerador htpasswd (que pode emitir entradas bcrypt diretamente), crie uma senha forte para aplicar o hash com nosso Gerador de Senhas Aleatórias e recorra ao nosso Gerador SHA-256 quando precisar de um checksum rápido de uso geral em vez de um hash de senha lento. Se você está decidindo com qual algoritmo armazenar senhas, compare as opções em bcrypt vs Argon2 vs scrypt.
// Node.js — bcryptjs / bcrypt (emits $2b$)
const bcrypt = require('bcrypt');
const hash = await bcrypt.hash('correct horse battery staple', 12);
// -> $2b$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq
const ok = await bcrypt.compare('correct horse battery staple', hash); // true
# Python — bcrypt
import bcrypt
hashed = bcrypt.hashpw(b'correct horse battery staple', bcrypt.gensalt(12))
bcrypt.checkpw(b'correct horse battery staple', hashed) # True
# PHP — password_hash (emits $2y$)
$hash = password_hash('correct horse battery staple', PASSWORD_BCRYPT, ['cost' => 12]);
password_verify('correct horse battery staple', $hash); // true
# Apache htpasswd CLI — bcrypt entry to stdout (-B bcrypt, -b inline, -n stdout)
htpasswd -Bbn admin 'correct horse battery staple'
# -> admin:$2y$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq Recursos Principais
Gere Hashes Bcrypt
Produza um hash bcrypt padrão de 60 caracteres a partir de qualquer senha com um novo sal aleatório. Cada clique gera um hash válido diferente, exatamente como faria um repositório de senhas real.
Fator de Custo Ajustável
Ajuste o fator de trabalho de 4 a 15 (12 é o padrão moderno). Sinta como cada passo aproximadamente dobra o tempo de computação para que você escolha um custo que seja forte, mas rápido o bastante para o login.
Escolha o Prefixo de Versão
Emita $2b$ (o padrão atual do bcryptjs), $2y$ (PHP / htpasswd do Apache) ou $2a$ (o original). Todos são intercambiáveis para verificação entre bibliotecas.
Verifique uma Senha Contra um Hash
Cole um hash armazenado e uma senha candidata para confirmar instantaneamente se eles correspondem — re-aplicando o hash com o sal e o custo embutidos, nunca descriptografando. Ideal para depurar um login que falhou.
Anatomia do Hash Detalhada
Veja qualquer hash bcrypt dividido em sua versão, custo, sal e digesto, para que a estrutura da string $2b$12$... fique óbvia num relance.
100% no Lado do Cliente
Todo o hashing e a verificação acontecem localmente no seu navegador. Nenhuma senha ou hash é jamais enviada a um servidor, então você pode trabalhar com credenciais reais de forma privada.
Exemplos do Gerador Bcrypt
hash bcrypt (custo 12, $2b$)
senha: correct horse battery staple custo: 12 prefixo: $2b$
$2b$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq
Um hash bcrypt com custo 12 e prefixo $2b$. O sal é aleatório, então a mesma senha produz um hash diferente a cada vez — mas todos eles verificam contra a senha original.
Verificar uma senha contra um hash
senha: correct horse battery staple hash: $2b$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq
✓ Corresponde — a senha está correta para este hash
A verificação não descriptografa o hash. O bcrypt re-aplica o hash na senha candidata usando o sal e o custo embutidos no hash armazenado e, em seguida, compara o resultado. Uma correspondência significa que a senha está correta.
Anatomia do hash detalhada
$2b$12$dUSFKqT1FCMYZ6hcQfsxuONizEqcX8IGK8snfVSowP5Uu.TDJoPUq
versão: $2b$ · custo: 12 · sal: dUSFKqT1FCMYZ6hcQfsxuO · digesto: NizEqcX8IGK8snfVSowP5Uu.TDJoPUq
Todo hash bcrypt é autodescritivo: uma etiqueta de versão, um custo de dois dígitos, um sal Base64 de 22 caracteres e um digesto Base64 de 31 caracteres, tudo em uma única string de 60 caracteres. A ferramenta separa essas partes para que você possa lê-las num relance.
Como Usar o Gerador Bcrypt
- 1
Digite uma Senha e Escolha o Custo
Na aba Gerar, digite uma senha ou clique em Senha aleatória. Escolha um fator de custo (4–15; 12 é o padrão moderno) e um prefixo de versão — $2b$, $2a$ ou $2y$ — para corresponder à sua stack.
- 2
Gere o Hash
O hash bcrypt é computado localmente com um novo sal aleatório e aparece como uma única string de 60 caracteres $2b$12$.... Clique em Copiar para levá-la, ou re-gere para um novo hash com sal.
- 3
Leia a Anatomia ou Verifique
O painel de anatomia divide o hash em versão, custo, sal e digesto. Mude para a aba Verificar para colar um hash armazenado e uma senha e confirmar instantaneamente se eles correspondem.
Common Errors
Tentar Descriptografar um Hash
O bcrypt é de mão única; não há descriptografia. Para conferir uma senha, verifique-a contra o hash em vez de tentar reverter o digesto.
bcrypt.decrypt(hash) // no such operation
bcrypt.compare(password, hash) // returns true / false
Definir o Custo Baixo Demais
Um custo baixo como 4 ou 6 gera o hash quase instantaneamente, o que também permite que atacantes quebrem hashes vazados por força bruta rapidamente. Use 12 como linha de base.
cost: 4 // far too fast, weak against brute force
cost: 12 // modern default, resists brute force
Esperar o Mesmo Hash Duas Vezes
Como o sal é aleatório, aplicar o hash na mesma senha novamente gera uma string diferente. Compare com a verificação, nunca conferindo a igualdade byte a byte de dois hashes.
hash(pw) === storedHash // fails — different salts
bcrypt.compare(pw, storedHash) // correct check
Casos de Uso Comuns
- Popular um Hash de Senha num Banco de Dados
- Gere um hash bcrypt para uma conta de administrador ou de teste e insira-o diretamente na sua tabela de usuários, para que você possa fazer login sem antes montar um fluxo de cadastro completo.
- Depurar um Login que Falha
- Verifique uma senha sabidamente correta contra o hash armazenado para confirmar se o hash em si está correto, isolando o bug do seu código de autenticação.
- Escolher o Fator de Custo Certo
- Gere em vários níveis de custo no seu próprio hardware para sentir quanto cada um leva, e então escolha um fator de trabalho que resista à força bruta sem atrasar logins reais.
- Criar Entradas htpasswd / Basic Auth
- Produza um hash bcrypt $2y$ para uma credencial do Apache, Docker Registry ou Caddy e, em seguida, insira-o numa linha usuário:hash para HTTP Basic Auth.
- Construir Fixtures de Teste
- Crie hashes bcrypt para popular testes de integração de um fluxo de login ou de redefinição de senha sem subir um servidor de autenticação real.
- Auditar um Hash que Você Encontrou
- Leia a anatomia de uma string bcrypt numa configuração ou dump para checar seu fator de custo, e verifique-a contra a senha que você espera para confirmar a correspondência.
Detalhes Técnicos
- Baseado em Blowfish, Custo Adaptativo
- O bcrypt deriva seu hash da custosa preparação de chave da cifra Blowfish, repetida 2^custo vezes. Aumentar o custo em um dobra o trabalho, mantendo a função lenta contra a força bruta conforme o hardware melhora.
- Sal Aleatório de 128 Bits
- Cada hash embute um sal aleatório de 16 bytes (128 bits), codificado em Base64 como 22 caracteres após o custo. O sal torna cada hash único, então senhas idênticas nunca compartilham um digesto e rainbow tables não se aplicam.
- Formato Autodescritivo de 60 Caracteres
- A saída é $versão$custo$sal+digesto — uma string fixa de 60 caracteres que carrega tudo o que é necessário para verificá-la. Nenhuma coluna de sal separada ou repositório de parâmetros é necessário.
- Limite de 72 Bytes na Senha
- O bcrypt só aplica o hash nos primeiros 72 bytes de uma senha; qualquer coisa além disso é silenciosamente ignorada. Para frases-senha muito longas, pré-aplicar um hash (por exemplo com SHA-256) antes do bcrypt é uma mitigação comum.
- Verifique, Não Descriptografe
- O bcrypt é de mão única. A verificação re-executa o hash na senha candidata usando o sal e o custo extraídos do hash armazenado e, em seguida, compara os digestos em tempo constante. Não há operação que recupere o texto puro.
- Notas de Honestidade e Ressalvas
- Os hashes são computados localmente e nunca conferidos contra um sistema ao vivo. Hashes copiados e qualquer senha que você digitou ficam na sua área de transferência e na memória do navegador — trate-os como segredos e limpe sua área de transferência após colar em produção.
Boas Práticas
- Use Custo 12 ou Superior
- O custo 12 é a linha de base moderna; aumente-o para 14 em sistemas sensíveis desde que a latência do login permaneça aceitável. Reavalie periodicamente — o que era lento o suficiente há cinco anos é barato de atacar hoje.
- Nunca Armazene ou Registre Texto Puro
- Armazene apenas o hash bcrypt, nunca a senha original, e mantenha as senhas fora de logs e mensagens de erro. Todo o valor do bcrypt se perde se o texto puro vazar ao lado dele.
- Deixe o bcrypt Cuidar do Sal
- O bcrypt gera e embute um sal aleatório seguro para você. Não forneça seu próprio sal estático nem reutilize um — um sal aleatório por hash é o que derrota rainbow tables.
- Atente ao Limite de 72 Bytes
- Se você aceita frases-senha longas, lembre-se de que o bcrypt ignora os bytes além de 72. Considere pré-aplicar um hash com SHA-256, ou avalie o Argon2id, quando entradas muito longas precisarem ser totalmente cobertas.
Perguntas Frequentes sobre o Gerador Bcrypt
É seguro usar um gerador bcrypt online?
Como gero um hash bcrypt online?
$2b$ para a maioria das stacks modernas, $2y$ para PHP e Apache, ou $2a$ para o identificador original. O hash bcrypt é computado instantaneamente no seu navegador com um novo sal aleatório e aparece como uma única string de 60 caracteres $2b$12$... que você pode copiar com um clique. Nada é enviado: a senha e o hash nunca saem do seu dispositivo. Gere novamente a qualquer momento para obter outro hash válido para a mesma senha, já que cada um carrega um sal aleatório diferente. Um hash bcrypt pode ser descriptografado ou revertido?
Qual fator de custo (work factor) devo usar?
Qual é a diferença entre $2a$, $2b$ e $2y$?
$2a$ é o identificador original amplamente usado; $2b$ é a versão atual corrigida que a biblioteca bcryptjs e a maioria das implementações modernas emitem; e $2y$ é o identificador que o PHP e o htpasswd do Apache usam. Para verificação eles são intercambiáveis — um hash que você gera aqui com qualquer prefixo será validado corretamente entre bibliotecas, porque todas executam a mesma função central. Escolha o prefixo que sua stack espera se você precisar de compatibilidade byte a byte. Como verifico uma senha contra um hash bcrypt?
$2b$12$... completa) e a senha candidata, e a ferramenta diz instantaneamente se eles correspondem. Ela funciona extraindo o sal e o custo embutidos no hash, re-aplicando o hash na senha candidata com esses parâmetros exatos e comparando o novo digesto com o armazenado — não há descriptografia envolvida. É assim que um sistema de login confere uma senha: ele nunca recupera o texto puro, apenas confirma que re-aplicar o hash na senha enviada reproduz o hash armazenado. bcrypt vs Argon2 vs scrypt — qual devo usar?
Por que o hash bcrypt é diferente a cada vez?
Ferramentas relacionadas
Ver todas as ferramentas →Decodificador JWT
Ferramentas de Segurança
Decodifique tokens JWT online com nosso decodificador JWT grátis. Inspecione cabeçalho, carga útil, assinatura, expiração e reivindicações. 100% navegador — seu token nunca sai do dispositivo. Sem cadastro, sem rastreio.
Codificador e Gerador JWT
Ferramentas de Segurança
Gerador e codificador JWT online grátis. Monte o cabeçalho e a carga útil, assine com HS256, RS256 ou ES256 instantaneamente. 100% no navegador — seu segredo e sua chave nunca saem do dispositivo.
Gerador de Hash MD5 e Ferramenta de Checksum
Ferramentas de Segurança
Gere hashes MD5, SHA-256, SHA-1 e SHA-512 online gratuitamente. Faça hash de texto ou arquivos no navegador, verifique checksums e copie resultados. Sem cadastro necessário.
Gerador de Senhas Aleatórias — Forte e Seguro
Ferramentas de Segurança
Gere senhas aleatórias fortes instantaneamente — grátis, sem cadastro, 100% no navegador. Personalize comprimento e tipos de caracteres, gere em lote até 50. Medidor de força com análise de entropia.
Gerador de Hash SHA-1 (160 bits — Legado)
Ferramentas de Segurança
Gere hashes SHA-1 no navegador — saída hex de 40 caracteres, sem upload. Ferramenta legada para impressões digitais do Git, verificação de certificados antigos e auditorias de migração. Dados nunca saem do dispositivo.
Gerador de Hash SHA-256 e Ferramenta de Checksum
Ferramentas de Segurança
Gere hashes SHA-256 online gratuitamente. Faça hash de texto ou arquivos no navegador, verifique checksums e copie saída hex de 64 caracteres. Sem cadastro; dados nunca saem da página.