O Que e uma Funcao Hash?

Uma funcao hash e um algoritmo matematico que transforma dados de qualquer tamanho em uma saida de tamanho fixo (digest). E um dos blocos fundamentais da criptografia moderna.

Propriedades de uma boa funcao hash criptografica

  • Deterministica - mesma entrada sempre produz a mesma saida
  • Rapida - facil de calcular em hardware comum
  • Unidirecional (pre-image resistant) - dado o hash, computacionalmente inviavel recuperar a entrada
  • Resistente a segunda pre-imagem - dado X, dificil achar Y !== X tal que hash(X)=hash(Y)
  • Resistente a colisoes - dificil achar qualquer par (X,Y) com hash(X)=hash(Y)
  • Efeito avalanche - mudanca minima na entrada altera drasticamente a saida

Algoritmos de Hash: Panorama 2026

MD5 - QUEBRADO

Projetado por Ron Rivest em 1991. Produz digest de 128 bits (32 caracteres hex). Colisoes praticas foram demonstradas em 2004. Ainda aparece em checksums nao-adversariais (verificacao de download de fornecedor confiavel) e dedup, mas nunca deve ser usado em contextos de seguranca.

SHA-1 - DEPRECIADO

Publicado pela NSA/NIST em 1995, substituto do SHA-0. Digest de 160 bits (40 hex). Google e CWI demonstraram colisao pratica em 2017 (ataque SHAttered). Depreciado pelo NIST em 2011 para aplicacoes criptograficas, mas ainda presente em Git (sendo migrado para SHA-256) e em certificados antigos.

SHA-2 (SHA-256, SHA-384, SHA-512)

Familia publicada pelo NIST em 2001. SHA-256 produz 256 bits (64 hex), SHA-384 produz 384 bits (96 hex), SHA-512 produz 512 bits (128 hex). Ainda considerados seguros em 2026 e sao o padrao atual para HTTPS, blockchain (Bitcoin usa SHA-256), integridade de software e assinatura digital.

SHA-3 e BLAKE3

SHA-3 (padronizado em 2015, baseado em Keccak) tem estrutura interna diferente de SHA-2, oferecendo diversidade criptografica. BLAKE3 (2020) e extremamente rapido, com paralelismo nativo. Ambos sao escolhas modernas, mas SHA-2 continua dominante por compatibilidade.

Nunca hasheie senhas com MD5 ou SHA

Funcoes hash criptograficas comuns sao rapidas, o que significa que um atacante pode testar bilhoes de senhas por segundo. Para armazenar senhas, use funcoes deliberadamente lentas como bcrypt, scrypt, Argon2 (vencedor do Password Hashing Competition) ou PBKDF2 com salt aleatorio por usuario.

Casos de Uso em Cibersegurança

Integridade de arquivos

Publicadores de software (Debian, Mozilla, Kali) publicam hashes SHA-256 de suas ISOs. Apos baixar, calcule o hash localmente e compare - se divergir, o arquivo foi corrompido ou adulterado em transito.

IoCs (Indicadores de Comprometimento)

Threat feeds publicam hashes de malware conhecido. Analise de incidentes usa YARA e engines antivirus que consultam hash de arquivos suspeitos. Nossa publicacao sobre Threat Intelligence detalha esse fluxo.

Deduplicacao e cache

Sistemas de backup e content-addressable storage (Git, IPFS) usam hash como identificador unico de conteudo. Se dois arquivos tem o mesmo hash, sao tratados como identicos.

HMAC e assinatura digital

HMAC (Hash-based Message Authentication Code) combina hash com chave secreta para garantir autenticidade. Assinaturas digitais (RSA-PSS, ECDSA) primeiro hasheiam a mensagem, depois cifram o hash com chave privada.

Blockchain

Bitcoin usa SHA-256 duplo para minerar blocos e referenciar transacoes. Ethereum usa Keccak-256. A resistencia a colisoes garante que hashes funcionem como ponteiros imutaveis entre blocos.

Como Verificar um Download

Cenario classico: voce baixou kali-linux-2026.iso e quer garantir que o arquivo nao foi corrompido:

  1. No site oficial do Kali, copie o hash SHA-256 publicado
  2. Arraste a ISO para a aba Arquivo desta ferramenta
  3. Cole o hash oficial no campo Comparar com hash conhecido
  4. Verde = arquivo intacto; Vermelho = corrompido ou adulterado

Atencao: hash nao garante autenticidade

Se um atacante comprometer o site de download, pode trocar tanto o arquivo quanto o hash publicado. Para autenticidade real, verifique a assinatura GPG do hash (ou use HTTPS com certificado valido de uma CA confiavel).

Erros Comuns

  • Armazenar senhas em SHA-256 - use bcrypt/Argon2 com salt
  • Confiar em MD5 para qualquer coisa relacionada a seguranca
  • Hash sem salt - permite ataques de rainbow table
  • Comparacao nao constant-time - use funcoes apropriadas para evitar timing attacks
  • Truncar hash - reduz drasticamente a seguranca contra colisoes

Perguntas Frequentes

O que e uma funcao hash?

Uma funcao hash e um algoritmo matematico que transforma dados de qualquer tamanho em saida de tamanho fixo. Boa funcao hash e deterministica, rapida, unidirecional e resistente a colisoes.

MD5 e SHA-1 ainda sao seguros?

Nao para uso criptografico. MD5 foi quebrado em 2004 e SHA-1 em 2017 (SHAttered). Ainda uteis para checksum nao-adversarial, mas NUNCA para assinaturas, certificados ou armazenamento de senhas.

Qual hash usar hoje em 2026?

Para uso geral, SHA-256 e o padrao. Para alta performance em CPUs 64-bit, SHA-512. Para senhas, use bcrypt, scrypt, Argon2 ou PBKDF2 com salt - nunca SHA puro.

Posso calcular hash de arquivo grande?

Sim, a ferramenta le o arquivo localmente. Para arquivos acima de 500MB, o calculo pode demorar alguns segundos. O limite pratico depende da memoria RAM do dispositivo.

O arquivo e enviado ao servidor?

Nao. A ferramenta usa FileReader e Web Crypto API para processar o arquivo localmente. Nenhum byte e transmitido. Voce pode desconectar da internet e continuar usando.

Outras Ferramentas Gratuitas

Codificador Base64/URL/Hex

Converta texto entre Base64, URL encoding e Hexadecimal. Util para pentest e analise de malware.

Decoder JWT

Decode e inspecione tokens JWT, veja header e payload, detecte vulnerabilidades como alg=none.

Gerador de Senhas

Gere senhas fortes e frases-senha com criptografia segura do navegador.

Precisa validar integridade em escala na sua empresa?

Implementamos processos de verificacao de integridade (FIM), assinatura digital de artefatos e controles de supply chain (SBOM).

Solicitar Proposta