Bcrypt Hash Generator
Understand Bcrypt Hash Generator
Gera o hash de uma senha com um fator de custo configurável no formato $2b$, e confere uma senha contra um hash que ele mesmo produziu.
How it works
O hash de senha é lento de propósito. O fator de custo é um expoente, então cada incremento dobra o trabalho: custo 12 custa quatro vezes o que custa o 10, e um atacante que tenta offline sofre a mesma desaceleração. Um salt aleatório de 16 bytes é gerado por hash e guardado dentro da string de saída, então dois usuários que escolheram a mesma senha recebem hashes diferentes e uma única rainbow table pré-computada não ataca o banco inteiro. O trabalho em si é o agendamento de chaves do Blowfish executado 2^custo vezes — essa preparação cara é o objetivo do algoritmo, e é o que faz o bcrypt resistir ao paralelismo de GPU que torna um hash rápido como o SHA-256 uma má escolha aqui.
When to use it
- Ver quanto tempo um único hash leva em cada fator de custo antes de aumentá-lo em produção.
- Ler as partes de uma string $2b$ — versão, custo, salt, digest — ao depurar um problema de login.
- Entender por que um hash de senha armazenado carrega o próprio salt em vez de um salt compartilhado.
- Gerar um hash descartável para uma fixture local ou um script de seed em que o valor não é uma credencial real.
Watch out for
- O custo é um expoente, não uma porcentagem. Passar de 10 para 14 torna cada login dezesseis vezes mais lento também para o seu servidor, então aumente-o com base na latência medida no seu próprio hardware, e não para um número que você leu em algum lugar.
- Nunca coloque uma senha em uso em uma página web para gerar o hash. O hash pertence ao seu servidor, onde o texto puro chega por TLS, nunca é renderizado e nunca chega a uma linha de log ou a um campo de formulário.
- Aumentar o fator de custo não atualiza os hashes que você já guardou. O custo fica gravado em cada string. A migração padrão é refazer o hash na próxima vez que aquele usuário fizer login com sucesso, que é o único momento em que você legitimamente tem o texto puro.
- O próprio bcrypt ignora tudo além dos primeiros 72 bytes de uma senha. Frases-senha longas perdem a cauda em silêncio, o que importa se você as aceita ou se faz um hash prévio da entrada antes do bcrypt.
Not the right tool for: Produzir o hash que você guarda em produção. Gere esse hash dentro da sua aplicação com uma biblioteca mantida — o Argon2id é hoje a primeira recomendação das diretrizes de armazenamento de senhas da OWASP, com o bcrypt em custo 10 ou acima como alternativa aceita.
Frequently Asked Questions
O que é hash de senha?
O hash de senha transforma uma senha em uma string de tamanho fixo (o hash) por meio de uma função de mão única. Bancos de dados guardam hashes, não texto puro — se o banco vazar, os atacantes não conseguem ler as senhas originais. O bcrypt é o algoritmo recomendado porque é deliberadamente lento, o que torna ataques de força bruta impraticáveis.
O que é o salt no hash de senha?
Um salt é um valor aleatório acrescentado à senha antes do hash, o que torna cada hash único mesmo para senhas idênticas. O bcrypt gera automaticamente um salt aleatório de 16 bytes e o embute no hash de saída. Sem salt, atacantes podem usar rainbow tables pré-computadas para quebrar vários hashes de uma vez.
Dá para descriptografar um hash bcrypt?
Não — o bcrypt é uma função de mão única, sem descriptografia. Para conferir uma senha, roda-se o bcrypt sobre a entrada com o salt armazenado e compara-se o resultado com o hash guardado. Se baterem, a senha está correta. Esse desenho significa que nem quem desenvolve a aplicação consegue recuperar a senha original.
How to Use Bcrypt Hash Generator
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.