Skip to content

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.

Sem rastreamento Roda no navegador Grátis
100% no seu navegador — sua senha nunca sai do seu dispositivo.
Hash bcrypt
Anatomia do hash
Versão
Custo
Sal
Digesto

Segue o comportamento de referência do bcrypt com saída conferida contra Node bcrypt, Python bcrypt e Apache htpasswd — Equipe de Segurança da Go Tools · Jun 12, 2026

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. 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. 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. 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.

✗ Incorreto
bcrypt.decrypt(hash)  // no such operation
✓ Correto
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.

✗ Incorreto
cost: 4  // far too fast, weak against brute force
✓ Correto
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.

✗ Incorreto
hash(pw) === storedHash  // fails — different salts
✓ Correto
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?
Com este, sim — porque nada do que você digita sai do seu navegador. A senha, o hash gerado e a verificação rodam todos localmente em JavaScript no seu próprio dispositivo. Não há requisições de rede, nem registro de logs, nem armazenamento: você pode confirmar isso abrindo as Ferramentas de Desenvolvedor do navegador (F12 → aba Rede) enquanto gera um hash e observando que há zero requisições de saída, ou desconectando-se da internet e vendo a ferramenta continuar funcionando. Isso é o oposto de um gerador suspeito que faz POST da sua senha para um servidor. Como hábito, prefira ainda uma senha de teste descartável em vez de uma de produção real sempre que estiver apenas experimentando.
Como gero um hash bcrypt online?
Abra a aba Gerar, digite uma senha (ou clique em Senha aleatória para criar uma forte), escolha um fator de custo — 12 é o padrão moderno — e selecione um prefixo de versão: $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?
Não. O bcrypt é uma função de hashing de senha de mão única, não uma criptografia, então não há chave nem operação de descriptografia que transforme um hash de volta na senha original. A única forma de descobrir a senha a partir de um hash é adivinhar candidatas e aplicar o hash em cada uma até que coincida — que é exatamente o que o fator de custo ajustável do bcrypt foi projetado para tornar lento e caro. É por isso que você verifica uma senha contra um hash em vez de descriptografá-la: a ferramenta re-aplica o hash na sua candidata com o sal e o custo armazenados no hash e checa se o resultado é idêntico.
Qual fator de custo (work factor) devo usar?
O custo 12 é o padrão moderno e um equilíbrio sensato entre segurança e velocidade. O custo é um fator de trabalho logarítmico: cada incremento dobra o número de rodadas internas, então o custo 13 leva cerca do dobro do tempo para computar e verificar do que o custo 12, e o custo 11 leva metade do tempo. Custos mais altos atrasam atacantes que tentam quebrar por força bruta hashes vazados, mas também adicionam latência a cada login legítimo, então não o aumente além do ponto em que a autenticação fica lenta no seu hardware real. O custo 10 é aceitável para endpoints de baixo risco; 12–14 serve para qualquer coisa sensível. O intervalo válido é de 4 a 31, e esta ferramenta permite escolher de 4 a 15.
Qual é a diferença entre $2a$, $2b$ e $2y$?
São prefixos de versão do mesmo algoritmo bcrypt, e as diferenças remontam a correções históricas de bugs na forma como algumas implementações tratavam o comprimento de strings e caracteres de bit alto. $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?
Mude para a aba Verificar, cole o hash bcrypt armazenado (a string $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?
Os três são funções de hashing de senha deliberadamente lentas e com sal, e todos são muito melhores do que um SHA-256 puro para armazenar senhas. O bcrypt é o mais amplamente suportado e testado em batalha, com um custo ajustável simples; seus principais limites são o teto de 72 bytes de senha e o fato de ser apenas limitado por CPU. O scrypt adiciona dureza de memória, tornando ataques em larga escala com GPU/ASIC mais caros. O Argon2 (especificamente o Argon2id) é a recomendação atual da Password Hashing Competition e da OWASP, ajustando tempo, memória e paralelismo de forma independente. Se você está escolhendo do zero hoje, o Argon2id é o padrão mais forte; o bcrypt continua sendo uma escolha excelente e segura — especialmente onde o suporte de bibliotecas ou a interoperabilidade importam. Cobrimos os tradeoffs em profundidade em bcrypt vs Argon2 vs scrypt.
Por que o hash bcrypt é diferente a cada vez?
Porque o bcrypt gera um novo sal aleatório para cada hash, e o sal é misturado antes do hashing. A mesma senha, portanto, produz uma string de 60 caracteres completamente diferente cada vez que você clica em Gerar — e esse é justamente o objetivo: impede que atacantes pré-computem rainbow tables ou percebam que dois usuários compartilham uma senha. O sal não é secreto; ele fica armazenado dentro do próprio hash (os 22 caracteres após o custo), de modo que a verificação pode lê-lo de volta. Se você re-gerar o hash, simplesmente obtém outro hash válido para a mesma senha, e todos eles serão verificados com sucesso.

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.