Gerador de Hash — MD5, SHA-256, SHA-512
Gere hashes criptograficos instantaneamente no seu navegador. Suporta MD5, SHA-1, SHA-256, SHA-384 e SHA-512. Todo o processamento e 100% client-side — seus dados nunca saem do seu navegador.
Web Crypto API nativa do navegador e uma implementacao local de MD5. Zero requisicoes de rede.
Gerar Hash
Todos os Algoritmos de Uma Vez
Gere o hash da mesma entrada com todos os cinco algoritmos simultaneamente.
| MD5 | — | |
| SHA-1 | — | |
| SHA-256 | — | |
| SHA-384 | — | |
| SHA-512 | — |
Comparar Hashes
Cole dois valores de hash para verificar se sao iguais — util para checar integridade de arquivos ou comparar checksums.
O que e uma Funcao Hash?
Uma funcao hash e um algoritmo matematico que transforma uma entrada de qualquer tamanho em uma saida de tamanho fixo chamada hash, digest ou checksum. Funcoes hash sao a base da criptografia moderna, usadas em assinaturas digitais, verificacao de certificados, armazenamento de senhas, verificacao de integridade de dados e enderecamento de conteudo.
Tres propriedades definem uma funcao hash criptografica: determinismo (entradas identicas sempre produzem saidas identicas), efeito avalanche (uma pequena mudanca na entrada muda radicalmente a saida) e unidirecionalidade (voce nao consegue reverter um hash para recuperar a entrada original). Uma funcao hash segura tambem resiste a ataques de colisao — encontrar duas entradas diferentes que produzem o mesmo hash.
Comparacao de Algoritmos de Hash
| Algoritmo | Tamanho da Saida | Status de Seguranca | Casos de Uso Comuns |
|---|---|---|---|
MD5 |
128 bits (32 hex) | Quebrado | Checksums, chaves de cache, deduplicacao sem seguranca |
SHA-1 |
160 bits (40 hex) | Descontinuado | Sistemas legados, IDs de objetos Git (em transicao) |
SHA-256 |
256 bits (64 hex) | Seguro | Certificados TLS, assinatura de codigo, Bitcoin, JWTs |
SHA-384 |
384 bits (96 hex) | Forte | TLS 1.2+, requisitos governamentais/compliance |
SHA-512 |
512 bits (128 hex) | Forte | Aplicacoes de alta seguranca, pericia digital, arquivamento |
Hashing em JavaScript com Web Crypto API
Navegadores modernos expoe a API crypto.subtle.digest() para computar hashes SHA inteiramente no client-side, sem dependencias. O exemplo a seguir calcula um hash SHA-256 e converte o resultado para uma string hexadecimal:
async function sha256(message) {
const encoder = new TextEncoder();
const data = encoder.encode(message);
const hashBuffer = await crypto.subtle.digest('SHA-256', data);
const hashArray = Array.from(new Uint8Array(hashBuffer));
return hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
}
// Uso
const hash = await sha256('hello world');
console.log(hash);
// => b94d27b9934d3e08a52e52d7da7dabfac484efe04294e576f4...
Web Crypto nao suporta MD5 porque MD5 nao e considerado criptograficamente seguro. Para MD5, uma implementacao pura em JavaScript e usada como fallback.
Perguntas Frequentes
O que e uma funcao hash?
Uma funcao hash recebe uma entrada (texto, arquivo ou qualquer dado binario) e produz uma string de caracteres de tamanho fixo. A mesma entrada sempre produz o mesmo hash, mas qualquer mudanca na entrada — mesmo um unico caractere — produz um hash completamente diferente. Isso torna os hashes uteis para detectar alteracoes em dados, verificar downloads e armazenar senhas sem salvar o valor original.
Qual e a diferenca entre MD5 e SHA-256?
MD5 produz um digest de 128 bits (32 caracteres hex) e e rapido de computar, mas colisoes criptograficas podem ser criadas intencionalmente — duas entradas diferentes podem ser feitas para produzir o mesmo hash MD5. Isso torna o MD5 inadequado para qualquer finalidade de seguranca. SHA-256 produz um digest de 256 bits e permanece seguro contra todos os ataques conhecidos. Use SHA-256 ou SHA-512 para qualquer aplicacao sensivel em seguranca. MD5 e aceitavel apenas para usos sem seguranca como chaves de cache ou checksums nao criticos.
O hash e reversivel? Posso descriptografar um hash?
Nao — hashing e uma operacao unidirecional por design. Nao existe algoritmo para recuperar a entrada original a partir de um hash. Porem, entradas curtas ou comuns podem ser encontradas via forca bruta ou rainbow tables pre-computadas. Por isso, senhas devem ser hasheadas com algoritmos lentos e com salt como bcrypt ou Argon2, nao com algoritmos rapidos como SHA-256. Os algoritmos de hash nesta pagina sao projetados para integridade de dados e checksums, nao para armazenamento de senhas.
Devo usar SHA-256 para hash de senhas?
Nao. SHA-256 e outras funcoes hash de proposito geral sao intencionalmente rapidas, o que torna ataques de forca bruta trivialmente viaveis em hardware moderno (bilhoes de hashes por segundo). Para senhas, use algoritmos de hash dedicados e lentos: bcrypt (mais amplamente suportado), Argon2id (melhor pratica moderna, vencedor da Password Hashing Competition) ou scrypt. Esses sao projetados para serem computacionalmente caros e incluem salting integrado para derrotar ataques de rainbow table.
Ferramentas Relacionadas
- Codificador e Decodificador Base64 — codifique e decodifique strings Base64 instantaneamente no navegador
- Decodificador e Inspetor JWT — decodifique JSON Web Tokens e inspecione claims no client-side
- Inspetor ENV — valide arquivos .env e detecte chaves de API expostas
- Codificador e Decodificador URL — codifique e decodifique strings URL e parametros de query