Resumo rapido: hash e uma impressao digital matematica de um conteudo. Mesma entrada gera sempre o mesmo hash; mudar uma virgula muda o hash inteiro. Use para verificar integridade de download e comparar arquivos sem precisar abrir.
Gerador hash: MD5, SHA-1, SHA-256, SHA-384 e SHA-512
Hash criptografico e funcao matematica de mao unica: entrada de qualquer tamanho vira saida fixa, e nao da para reverter. Serve pra duas coisas: verificar integridade (o arquivo chegou inteiro?) e comparar conteudo sem expor o original (assinatura, deduplicacao).
O caso classico e a ISO de Linux. O site publica o SHA-256 ao lado do link; depois do download, calcula-se o hash local e compara. Bateu, o arquivo esta integro. Nao bateu, houve corrupcao em transito ou adulteracao.
Qual algoritmo usar e por que
MD5 (128 bits) quebrou pra crypto em 2004 com colisoes praticas. Ainda serve pra checksum de arquivo, cache interno, deduplicacao — situacoes em que ninguem esta tentando forjar colisao. Nao serve pra senha, certificado, assinatura.
SHA-1 (160 bits) caiu em 2017 com o SHAttered do Google (duas PDFs com mesmo hash). Foi deprecado em TLS no mesmo ano. Git ainda usa por inercia historica (migracao pra SHA-256 em andamento desde 2018), mas como identificador de commit, nao como defesa contra adversario.
SHA-256 (256 bits) e o padrao de fato hoje: TLS, Bitcoin, assinatura de pacote Linux, integridade de download. Sem colisao pratica conhecida. Em duvida, SHA-256.
SHA-512 (512 bits) processa em blocos de 64 bits, entao em CPU x86_64 moderna costuma ser mais rapido que SHA-256 pra arquivo grande. Aparece em ISO de distro Linux e contextos que querem margem extra de bits.
| Algoritmo | Tamanho da saida | Estado atual | Quando usar |
|---|---|---|---|
| MD5 | 128 bits (32 hex) | Quebrado | Checksum informal |
| SHA-1 | 160 bits (40 hex) | Quebrado | Compatibilidade com Git |
| SHA-256 | 256 bits (64 hex) | Seguro | Padrao geral |
| SHA-384 | 384 bits (96 hex) | Seguro | Certificados de alta seguranca |
| SHA-512 | 512 bits (128 hex) | Seguro | Arquivo grande, ISO Linux |
Calculo client-side: nada sobe ao servidor
Hash de texto sensivel (senha, chave de API, codigo proprietario) nao deve sair da maquina. SHA-1, SHA-256, SHA-384 e SHA-512 rodam direto na Web Crypto API nativa do Chrome, Firefox e Safari — sem requisicao de rede.
MD5 nao esta na Web Crypto API, entao roda em JavaScript local (implementacao classica de Joseph Myers). Mesmo assim, nenhum byte sobe ao servidor.
Hash nao e criptografia
Hash e mao unica: gera impressao digital, nao volta pro texto original. E pra senha em banco, SHA puro nao basta — GPU moderna quebra bilhoes de SHA-256 por segundo. Use bcrypt, scrypt ou Argon2 com salt unico por usuario.
SHA-3 (Keccak)
O NIST padronizou SHA-3 em 2015 apos competicao publica vencida pelo Keccak. SHA-2 herda design Merkle-Damgard (mesma familia de MD5 e SHA-1, refinada); SHA-3 usa construcao de esponja, estrutura totalmente diferente. Se algum dia aparecer ataque generico contra Merkle-Damgard que derrube SHA-2, SHA-3 nao cai junto — e a logica de redundancia.
Na pratica, SHA-3 ainda e raro fora de protocolo novo. SHA-2 segue seguro e migrar sistema legado custa caro. Mas em assinatura de longo prazo (documento legal, blockchain), SHA-3 aparece como hedge.
Casos de uso por algoritmo
- Integridade de download (ISO Linux, instalador): SHA-256 ao lado do link. SHA-512 em distros maiores.
- Git: SHA-1 por historico, migracao pra SHA-256 desde 2018. Identificador de commit, nao defesa anti-adversario.
- Assinatura digital (TLS, code signing, S/MIME): SHA-256 e o minimo aceito desde 2017. SHA-384/512 em alta sensibilidade.
- Senha em banco: NUNCA MD5, SHA-1 ou SHA-256 puros. bcrypt, scrypt ou Argon2 (vencedor PHC 2015) com salt — funcao lenta resiste a forca bruta em GPU.
- Checksum informal (cache, dedup, comparacao rapida): MD5 ainda passa pela velocidade. Modelo de ameaca nao inclui adversario criando colisao.
Hash da expressao "saber meu IP" em cada algoritmo
Use o gerador acima e digite exatamente "saber meu IP" (sem aspas, sem espaco extra) para reproduzir os valores. Pequenas variacoes alteram o hash completo (efeito avalanche).
| Algoritmo | Tamanho (bits) | Caracteres hex | Bytes brutos |
|---|---|---|---|
| MD5 | 128 | 32 | 16 |
| SHA-1 | 160 | 40 | 20 |
| SHA-256 | 256 | 64 | 32 |
| SHA-384 | 384 | 96 | 48 |
| SHA-512 | 512 | 128 | 64 |
| SHA-3 (256 bits) | 256 | 64 | 32 |
Hash criptografico vs hash de estrutura de dados
O termo "hash" confunde porque cobre duas coisas distintas. Hash criptografico (foco desta pagina) tem tres propriedades duras: resistencia a pre-imagem (dada saida, achar entrada e inviavel), segunda pre-imagem (dada entrada A, achar B com mesmo hash e inviavel) e colisao (achar qualquer par com mesmo hash e inviavel).
Hash table (HashMap, dict, Map) usa funcao trivial e rapida pra distribuir chaves em buckets. Colisoes acontecem direto e sao resolvidas com encadeamento ou open addressing. SHA-256 num HashMap e lento e inutil; hash trivial em contexto de seguranca e desastre.
Sobre como padroes como SHA-256 sao publicados formalmente, veja o que sao RFCs e padroes de internet. A familia SHA esta nas FIPS do NIST, referenciada por RFCs operacionais.
Gerador de Hash: Perguntas Frequentes
É um resumo de tamanho fixo gerado a partir de qualquer entrada. Mesma entrada produz sempre o mesmo hash, e qualquer alteração na entrada muda totalmente o resultado.
MD5 não é recomendado para fins de segurança porque há ataques de colisão conhecidos. Para integridade simples ele ainda é usado, mas prefira SHA-256 em contextos críticos.
Não. O cálculo ocorre no próprio navegador via Web Crypto API, sem enviar conteúdo para o servidor.
SHA-1 já tem colisões práticas demonstradas. Para assinaturas digitais, certificados e validação séria, use SHA-256 ou superior.
Para arquivos grandes, prefira ferramentas locais como sha256sum no Linux ou CertUtil no Windows, já que processar em navegador pode ficar lento.
Não. Hash é uma função de mão única para resumo, não permite recuperar o conteúdo original. Criptografia simétrica e assimétrica são categorias diferentes.