Gere e verifique hashes de senhas bcrypt. Configure o fator de trabalho e o algoritmo.
Um salt aleatório de 128 bits (16 bytes) é gerado com um CSPRNG. Os salts previnem ataques de tabela arco-íris — senhas idênticas produzem hashes diferentes.
O algoritmo Eksblowfish executa 2^n iterações (n é o seu fator de custo). Duplicar o custo duplica o tempo de computação — tornando os ataques de força bruta proporcionalmente mais difíceis.
A saída codifica tudo: $2b$12$[salt de 22 chars][hash de 31 chars]. O prefixo "$2b$12$" indica ao bcrypt para usar cost=12. Não é necessária uma coluna de salt separada.
$2b$12$eImiTAiTAi25sDB8iBjEJfF2PbO0oagzXCgKCQfHIFnOSuJl.J2
$2b$Versão do algoritmo (2a, 2b, 2y)
12$Fator de custo (2^12 = 4.096 rodadas)
22 charsSalt codificado em Base64 (128 bits)
31 charsHash codificado em Base64 (184 bits)
| Custo | Iterações | Tempo aprox. | Recomendação |
|---|---|---|---|
| 10 | 1.024 | ~50-100ms | Mínimo para novas aplicações |
| 11 | 2.048 | ~100-200ms | Bom para APIs de alto tráfego |
| 12 | 4.096 | ~200-400ms | Padrão recomendado (2025) |
| 13 | 8.192 | ~400-800ms | Aplicações de alta segurança |
| 14 | 16.384 | ~800ms-1.6s | Custo prático máximo |
Tempos aproximados em um CPU de servidor moderno. Sempre faça benchmarks no seu hardware alvo.
Veja também o Gerador de Hash para MD5, SHA-1, SHA-256, SHA-512 e outras funções de hash criptográficas.
Bcrypt é uma função de hash de senhas projetada por Niels Provos e David Mazières para o OpenBSD em 1999. Ao contrário do MD5 ou SHA, o bcrypt é intencionalmente lento e intensivo em CPU, tornando ataques de força bruta impraticáveis. Incorpora automaticamente um salt, prevenindo ataques de tabela arco-íris. Use bcrypt (ou Argon2) para todo o armazenamento de senhas — nunca armazene senhas em texto simples ou com hashes rápidos (MD5/SHA).
O fator de custo (fator de trabalho) controla a lentidão do bcrypt. Cada incremento duplica o tempo de computação. Para autenticação de usuários, aponte para 100-300ms de tempo de hash no seu hardware de servidor. Comece em 12 e faça benchmarks — use o valor mais alto que mantém o tempo de login abaixo de 500ms. Maior é mais seguro mas mais lento. O custo 10 é o mínimo recomendado para novas aplicações em 2025.
Ambos são algoritmos modernos de hash de senhas. O bcrypt é testado em batalha (25+ anos) e amplamente suportado. O Argon2 ganhou o Password Hashing Competition (2015) e é mais resistente a ataques GPU usando intensidade de memória. O Argon2id (a variante recomendada) combina Argon2i e Argon2d para resistência a ataques de canal lateral e GPU. Para novas aplicações, o Argon2id é a escolha preferida.
Esta ferramenta gera hashes bcrypt padrão compatíveis com qualquer biblioteca bcrypt. O hash é executado inteiramente no seu navegador usando a biblioteca bcryptjs — nenhuma senha é enviada para servidores. No entanto, gere sempre hashes de senhas no lado do servidor em aplicações de produção. As demos do lado do cliente são apenas para fins de aprendizado e teste.
Todas as operações de hash ocorrem localmente no seu navegador. As senhas nunca são transmitidas ou armazenadas.