O que é um Hash Criptográfico?
Um hash é uma função unidirecional que transforma qualquer entrada em uma string de tamanho fixo. É unidirecional: você não consegue recuperar o texto original a partir do hash. Isso torna hashes ideais para armazenar senhas e verificar integridade de dados.
Onde e por que usar?
Bcrypt é o padrão recomendado para armazenar senhas em banco de dados: ele é lento por design (fator de custo configurável), o que dificulta ataques de força bruta. MD5 é rápido e útil para checksums não críticos, como verificar se um arquivo foi corrompido durante a transferência — nunca para senhas. SHA-256 é mais seguro que MD5 e usado amplamente em certificados digitais e blockchain.
Como funciona?
Digite o texto no campo acima, selecione o algoritmo desejado e clique em "Gerar Hash". Bcrypt e MD5 são processados pelo servidor PHP; SHA-256 é calculado diretamente no navegador usando a Web Crypto API, sem enviar dados à rede.
Quando usar e quando não usar
Use para gerar o hash Bcrypt de uma senha de teste e cadastrar um usuário de homologação, para confirmar que o login novo aceita o formato $2y$, e para comparar um SHA-256 ou MD5 com o valor que outro sistema calculou. É também um jeito rápido de mostrar a um time, na prática, por que MD5 não serve para senha: o mesmo texto dá sempre o mesmo resultado.
Não digite aqui senha real de produção nem dado de cliente. Bcrypt e MD5 são calculados no servidor deste site, então o texto viaja pela internet, ainda que por HTTPS e sem ser gravado. Para dado real, gere o hash dentro do seu próprio sistema. A ferramenta também não calcula hash de arquivo: para conferir um download, use shasum -a 256 arquivo no terminal.
Exemplo: o mesmo texto nos três algoritmos
Entrada: exemplo-teste.
- MD5:
16e70650f3acd6175f3b64eda5a0b67a - SHA-256:
46fd5b8cb7348cce0018674b0d108313a31eed44d50974737c500204973d41f9 - Bcrypt:
$2y$12$x.6KYITI8TlyNbQ.8wfyj.KZxfSwIFucLyB5y3asPH/DdJdSzB4my
Clique de novo em Gerar Hash e MD5 e SHA-256 se repetem idênticos, enquanto o Bcrypt muda por completo. A diferença está no salt. O hash Bcrypt tem quatro partes: $2y$ identifica a variante do algoritmo usada pelo PHP; 12 é o custo, ou 212 = 4.096 rodadas da função; os 22 caracteres seguintes são o salt aleatório; os 31 finais são o hash propriamente dito. Como o salt fica guardado dentro da string, o sistema consegue verificar a senha depois sem armazená-lo em outra coluna.
Onde cada algoritmo é calculado
O SHA-256 roda no seu navegador pela Web Crypto API: o texto é convertido em bytes UTF-8 com TextEncoder, passa por crypto.subtle.digest e o resultado é mostrado em hexadecimal, sem nenhuma requisição de rede.
Bcrypt e MD5 seguem por POST para o endpoint /api/generate-hash do site, com o texto e o nome do algoritmo em JSON. O PHP responde com password_hash usando PASSWORD_BCRYPT e custo 12, que sorteia um salt novo a cada chamada, ou com a função md5. O código do endpoint calcula e devolve o hash, sem gravar a entrada em banco ou arquivo. O texto é usado exatamente como foi digitado: espaço no fim e quebra de linha mudam o hash.
Limitações
- O Bcrypt só considera os primeiros 72 bytes da entrada. Letras acentuadas ocupam 2 bytes em UTF-8, então frases longas são truncadas antes do que parece.
- O custo do Bcrypt é fixo em 12 e não há campo para compará-lo com uma senha. Para verificar, use
password_verifyno seu código ou o verificador da página de Argon2id, que aceita hashes Bcrypt. - Não há SHA-1, SHA-512, HMAC nem hash de arquivo. SHA-512 e CRC32 de texto ficam em outra ferramenta desta Toolbox.
- Bcrypt e MD5 precisam de conexão; sem ela, o campo mostra erro.
Privacidade
Aqui a resposta depende do algoritmo. SHA-256: nada sai do navegador. Bcrypt e MD5: o texto é enviado ao servidor por HTTPS, processado e descartado, e o registro padrão de acesso anota a chamada ao endereço, não o conteúdo enviado. Mesmo assim, a regra continua valendo: senha real e dado pessoal não entram em ferramenta de terceiros.
Para continuar
O Que É um Hash Criptográfico explica as propriedades que tornam um hash útil, e BCrypt vs Argon2id vs SHA-256 ajuda a escolher o algoritmo de cada caso. Para senha nova, o Gerador Argon2id gera e verifica; para integridade de catálogo e arquivos exportados, use o Gerador SHA-512 / CRC32.
Perguntas frequentes
Qual a diferença entre Bcrypt e MD5 para senhas?
Bcrypt foi projetado para ser lento e usa um salt aleatório por hash, o que torna inviável atacar muitas senhas de uma vez. MD5 é rápido e determinístico: o mesmo texto sempre gera o mesmo resultado, e senhas comuns são descobertas por consulta a tabelas prontas. Use Bcrypt ou Argon2id para senha e MD5 só para checksum sem valor de segurança.
O que significa o custo 12 do Bcrypt?
O custo é o expoente do número de rodadas: 12 significa 2 elevado a 12, ou 4.096 rodadas. Cada ponto a mais dobra o tempo de cálculo, tanto para o login legítimo quanto para quem tenta adivinhar senhas. O valor adequado depende do hardware do servidor e deve ser medido nele.
Este gerador envia meus dados para o servidor?
Depende do algoritmo. SHA-256 é calculado no navegador, sem envio. Bcrypt e MD5 são calculados pelo PHP no servidor do site: o texto vai por HTTPS e o hash volta, sem que a entrada seja gravada. Não use senhas reais nem dados de clientes.
Por que o Bcrypt muda a cada clique e o MD5 não?
Porque o Bcrypt sorteia um salt novo a cada geração e o inclui no resultado. Dois hashes diferentes da mesma senha são ambos válidos, e a função de verificação lê o salt de dentro da string. MD5 e SHA-256 não usam salt, então repetem sempre o mesmo valor.
Qual algoritmo de hash devo usar?
Para armazenar senhas, Argon2id ou Bcrypt. Para integridade de arquivos e comparação de conteúdo, SHA-256 ou SHA-512. MD5 e SHA-1 só em usos legados sem exigência de segurança, como chave de cache, e nunca para senha.