bcrypt Gerador de Hash

Ferramenta gratuita de bcrypt Gerador de Hash online. Processamento 100% local — seus dados nunca saem do seu dispositivo.

General
Password Hashing / KDF
Specialized
Deprecated
Saída

O resultado será exibido aqui...

Entrada Calcular Hash

Usage Guide

Sobre o bcrypt

bcrypt é uma função de hash de senhas projetada por Niels Provos e David Mazières em 1999, baseada na cifra Blowfish. Foi especificamente construída para ser lenta e computacionalmente custosa, tornando os ataques de força bruta impraticáveis. bcrypt é um dos algoritmos de hash de senhas mais amplamente implantados no mundo, com suporte nativo em frameworks como Rails, Django, Laravel e Node.js (bcryptjs). Cada hash bcrypt incorpora um sal aleatório e o fator de custo, tornando o hash completamente autossuficiente para verificação.

Padrão Testado em Batalha: bcrypt está em uso em produção por mais de 25 anos e permanece uma escolha confiável para armazenamento de senhas. A OWASP recomenda um fator de custo mínimo de 10, com cost=12 como linha de base de 2023. Para novos projetos, Argon2id é preferido; bcrypt permanece completamente confiável para sistemas existentes.

Etapas de Uso

Esta ferramenta suporta duas operações: fazer hash de uma senha (Criptografar) e verificar uma senha contra um hash (Descriptografar):

1. Modo Hash (Criptografar)Selecione o modo 'Criptografar', insira a senha na caixa de entrada e clique em 'Calcular Hash'
2. Obter o HashA saída é uma string bcrypt de 60 caracteres como $2b$12$... — copie e armazene no seu banco de dados
3. Modo de Verificação (Descriptografar)Selecione o modo 'Descriptografar', insira senha|$2b$12$... (separado por pipe) na caixa de entrada e clique em 'Descriptografar'
4. Verificar ResultadoA ferramenta retorna '✓ Password matches' se a senha estiver correta, ou uma mensagem de erro se não corresponder
Proteção de Privacidade: Todos os cálculos bcrypt são executados completamente no seu navegador usando WebAssembly. Nenhum dado é enviado a um servidor — processamento completamente offline.

Características do Algoritmo

bcrypt tem várias propriedades que o tornam adequado para armazenamento de senhas:

Intencionalmente LentoO cronograma de chaves Blowfish é custoso de computar, tornando cada tentativa de hash lenta e os ataques de força bruta custosos
Sal IntegradoCada hash inclui um sal aleatório único de 128 bits, prevenindo ataques de tabela arco-íris e de senhas idênticas
Fator de Custo AjustávelO fator de custo (4–31) controla o trabalho: cada incremento dobra o tempo de computação, permitindo acompanhar as melhorias de hardware
Resistência a GPUOs padrões de acesso à memória do cronograma de chaves Blowfish limitam o paralelismo de GPU comparado a funções hash mais simples como MD5 ou SHA-256
Hash AutossuficienteA saída de 60 caracteres ($2b$12$[22-char sal][31-char hash]) inclui todos os parâmetros necessários para verificação — nenhum metadado adicional necessário
Limitação vs Argon2: bcrypt usa apenas ~4 KB de memória durante a computação, tornando-o significativamente menos resistente a ataques ASIC e hardware personalizado do que Argon2, que requer megabytes de memória. Para novos projetos, prefira Argon2id. bcrypt ainda é apropriado para manter sistemas existentes.

Guia do Fator de Custo

Escolher o fator de custo certo equilibra segurança versus desempenho do servidor:

Custo 10Mínimo OWASP (2023). ~100 ms em um servidor moderno. Aceitável para sites de baixo tráfego ou ambientes com recursos limitados
Custo 12Recomendação de linha de base OWASP 2023. ~400 ms. Bom equilíbrio entre segurança e desempenho para a maioria das aplicações web
Custo 14~1,5 s. Alta segurança para aplicações sensíveis (finanças, saúde). Pode requerer tratamento assíncrono para evitar bloqueio de UI
Custo 31 (máx)Máximo teórico — computação leva horas. Nunca usar em produção; apenas para arquivamento offline ou fins de demonstração
Dica de Ajuste: Faça benchmark no seu hardware de produção e mire em 200–500 ms por hash. À medida que CPUs melhoram ao longo dos anos, incremente o fator de custo para manter o mesmo tempo de relógio. Novos hashes podem usar o custo atualizado; hashes existentes permanecem verificáveis porque o custo é armazenado na própria string do hash.

FAQ

Q: Qual é o formato de saída do bcrypt?

A: Um hash bcrypt tem sempre exatamente 60 caracteres e parece: $2b$12$LQv3c1yqBWVHxkd0LHAkCOYz6TtxMQJqhN8/lewdBdXyXu2zXpOme.
Detalhamento:
$2b$: Identificador de versão bcrypt.
12$: O fator de custo.
Próximos 22 caracteres: Sal aleatório de 128 bits codificado em Base64.
Últimos 31 caracteres: Hash derivado de 184 bits codificado em Base64.
Propriedade chave: Todos os parâmetros estão incorporados na string — nenhum armazenamento adicional é necessário para verificar uma senha posteriormente.

Q: Como o bcrypt se compara ao Argon2?

A: bcrypt (1999): computacionalmente difícil, ~4 KB memória, resistência GPU moderada, suporte universal. Argon2 (2015): difícil em memória (configurável, padrão 64 MB), resistência a ASIC/GPU muito mais forte, preferido pela OWASP e NIST. Quando usar bcrypt: Mantendo um sistema existente ou quando Argon2 ainda não está disponível. Quando usar Argon2: Todos os novos projetos.

Q: Por que o bcrypt não pode ser usado para fazer hash de arquivos ou dados grandes?

A: bcrypt tem um limite de entrada de 72 bytes. Caracteres além do 72º byte são silenciosamente ignorados. Para integridade de arquivos, use SHA-256 ou SHA-512. bcrypt é construído especificamente para senhas curtas inseridas por humanos apenas.

Q: O bcrypt é seguro se meu banco de dados for comprometido?

A: Sim — um hash bcrypt é unidirecional. Com cost=12, um único núcleo de CPU pode tentar aproximadamente 2–5 hashes por segundo, tornando ataques exaustivos contra senhas fortes efetivamente inviáveis. No entanto, bcrypt não protege senhas fracas — sempre aplique uma política mínima de força de senha.

Q: Qual fator de custo devo usar em produção?

A: Recomendação OWASP 2023: cost=12 como linha de base. Faça benchmark no seu servidor de produção e escolha o maior fator de custo que mantém o hash abaixo de 500 ms. Nunca vá abaixo de cost=10. Revise a cada 2–3 anos conforme o hardware melhora.

Q: O bcrypt pode ser usado para armazenamento de chaves API ou tokens?

A: Sim, com ressalvas. bcrypt é adequado para fazer hash de chaves API e tokens com menos de 72 bytes e verificados raramente. Para verificação de alta frequência, use uma abordagem rápida de SHA-256 + sal em vez disso.

Use Cases

Recomendado: Armazenamento de Senhas de Usuário

Este é o principal caso de uso do bcrypt. Faça hash com bcrypt (cost ≥ 12) e armazene a string de 60 caracteres. Durante o login, execute a verificação bcrypt. bcrypt é suportado nativamente em Rails (has_secure_password), Django, Laravel e Node.js (bcryptjs).

Recommended Configuration:
  • ✅ bcrypt (cost ≥ 12, amplamente suportado — recomendado para sistemas existentes)
  • Argon2id (preferido para novos projetos)
  • PBKDF2-SHA256 (≥ 600k iterações, ambientes conformes com FIPS)
  • ❌ Não usar SHA-256, MD5 ou outros hashes de propósito geral para senhas
Recomendado: Compatibilidade com Sistemas Legados

Para sistemas que armazenam milhões de hashes bcrypt, continue usando bcrypt e aumente o fator de custo conforme o hardware melhora. Novos usuários podem atualizar transparentemente para Argon2id enquanto hashes bcrypt (identificados pelo prefixo $2b$) continuam sendo verificados corretamente.

Recommended Configuration:
  • ✅ Manter bcrypt para hashes existentes — nenhuma migração forçada necessária
  • ✅ Introduzir gradualmente Argon2id para senhas novas e atualizadas
  • ✅ Usar detecção de prefixo de hash ($2b$ vs $argon2id$) para rotear verificação
  • 💡 Registrar o algoritmo usado por usuário para acompanhar o progresso da migração
Aceitável: Hash de Chaves API

bcrypt pode fazer hash de chaves API antes do armazenamento no banco de dados. Para verificação por requisição em escala, prefira um esquema rápido HMAC-SHA256 ou um hash SHA-256 da chave.

Recommended Configuration:
  • ✅ bcrypt (cost=10–12, bom para verificação de baixa frequência)
  • SHA-256 + sal (mais rápido, adequado para chaves de alta entropia)
  • ✅ HMAC-SHA256 (para assinatura de tokens por requisição)
  • 💡 Usar prefixo de hash (primeiros 8 chars) como índice de banco de dados para busca rápida
Não Recomendado: Criptografia de Arquivos ou Dados

bcrypt é uma função hash unidirecional, não um algoritmo de criptografia. Não pode criptografar arquivos. Além disso, o limite de entrada de 72 bytes do bcrypt o torna inadequado para fazer hash de conteúdos de arquivos. Para criptografia de arquivos, use uma cifra simétrica (ex., AES-256-GCM).

Recommended Configuration:
  • ❌ Não usar bcrypt para criptografia de arquivos (não é reversível)
  • ❌ Não fazer hash de dados maiores que 72 bytes com bcrypt
  • ✅ Usar AES-256-GCM para criptografia simétrica de arquivos
  • ✅ Usar Argon2id ou scrypt para derivação de chaves baseada em senha
Não Recomendado: Hash Geral de Dados

bcrypt é muito lento para verificações de integridade de dados de propósito geral. Use SHA-256 ou SHA-512 para verificação de integridade.

Recommended Configuration:
  • ❌ Não usar bcrypt para verificações de integridade de dados ou hash de conteúdo
  • SHA-256 (hash de integridade de propósito geral)
  • ✅ BLAKE2b (hash criptográfico de alta velocidade)
  • ✅ SHA-3 / SHA-512 (maior margem de segurança)
Não Recomendado: Autenticação de Alta Frequência

bcrypt é projetado para ser lento (~200–500 ms em cost=12). Executá-lo em cada requisição API deixaria seu servidor de joelhos. Use bcrypt apenas uma vez no login — depois emita um JWT assinado para requisições subsequentes.

Recommended Configuration:
  • ❌ Não executar bcrypt em cada requisição API
  • ✅ JWT + HMAC-SHA256 (auth stateless, rápida por requisição)
  • ✅ Session + Cookie (gerenciamento de sessão tradicional do lado do servidor)
  • ✅ OAuth 2.0 / OpenID Connect (identidade federada, baseada em tokens)

Resumo de Melhores Práticas

  • Usar bcrypt (cost ≥ 12) para armazenamento de senhas de usuário em sistemas existentes. Para novos projetos, preferir Argon2id.
  • Nunca usar bcrypt para hash geral de dados, criptografia de arquivos ou dados maiores que 72 bytes.
  • Fazer benchmark no hardware de produção e mirar em 200–500 ms por hash. Incrementar o fator de custo a cada 2–3 anos.
  • Para cenários de auth de alta frequência, usar bcrypt apenas no login, depois emitir JWT ou tokens de sessão.
  • Migração gradual do bcrypt para Argon2id: manter bcrypt para hashes existentes, usar Argon2id para novas senhas.

Discussão e Feedback

0 comentários
Eu