O Que e uma Função Hash?

Uma função hash e um algoritmo matematico que transforma dados de qualquer tamanho em uma saída de tamanho fixo (digest). E um dos blocos fundamentais da criptografia moderna.

Propriedades de uma boa função hash criptográfica

  • Deterministica - mesma entrada sempre produz a mesma saída
  • Rápida - fácil de calcular em hardware comum
  • Unidirecional (pré-image resistant) - dado o hash, computacionalmente inviavel recuperar a entrada
  • Resistente a segunda pré-imagem - dado X, difícil achar Y !== X tal que hash(X)=hash(Y)
  • Resistente a colisoes - difícil achar qualquer par (X,Y) com hash(X)=hash(Y)
  • Efeito avalanche - mudança mínima na entrada altera drasticamente a saída

Algoritmos de Hash: Panorama 2026

MD5 - QUEBRADO

Projetado por Ron Rivest em 1991. Produz digest de 128 bits (32 caracteres hex). Colisoes práticas foram demonstradas em 2004. Ainda aparece em checksums não-adversariais (verificação de download de fornecedor confiável) e dedup, mas nunca deve ser usado em contextos de segurança.

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 aplicações criptográficas, mas ainda presente em Git (sendo migrado para SHA-256) e em certificados antigos.

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

Família 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 são o padrão 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 criptográfica. BLAKE3 (2020) e extremamente rápido, com paralelismo nativo. Ambos são escolhas modernas, mas SHA-2 continua dominante por compatibilidade.

Nunca hasheie senhas com MD5 ou SHA

Funções hash criptográficas comuns são rápidas, o que significa que um atacante pode testar bilhões de senhas por segundo. Para armazenar senhas, use funções deliberadamente lentas como bcrypt, scrypt, Argon2 (vencedor do Password Hashing Competition) ou PBKDF2 com salt aleatorio por usuário.

Casos de Uso em Cibersegurança

Integridade de arquivos

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

IoCs (Indicadores de Comprometimento)

Threat feeds publicam hashes de malware conhecido. Analise de incidentes usa YARA e engines antivírus que consultam hash de arquivos suspeitos. Nossa publicação sobre Threat Intelligence detalha esse fluxo.

Deduplicacao e cache

Sistemas de backup e content-addressable storage (Git, IPFS) usam hash como identificador único de conteúdo. Se dois arquivos tem o mesmo hash, são 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 transações. Ethereum usa Keccak-256. A resistência a colisoes garante que hashes funcionem como ponteiros imutaveis entre blocos.

Como Verificar um Download

Cenário clássico: você baixou kali-linux-2026.iso e quer garantir que o arquivo não 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

Atenção: hash não 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 confiável).

Erros Comuns

  • Armazenar senhas em SHA-256 - use bcrypt/Argon2 com salt
  • Confiar em MD5 para qualquer coisa relacionada a segurança
  • Hash sem salt - permite ataques de rainbow table
  • Comparação não constant-time - use funções apropriadas para evitar timing attacks
  • Truncar hash - reduz drasticamente a segurança contra colisoes

Perguntas Frequentes

O que e uma função hash?

Uma função hash e um algoritmo matematico que transforma dados de qualquer tamanho em saída de tamanho fixo. Boa função hash e deterministica, rápida, unidirecional e resistente a colisoes.

MD5 e SHA-1 ainda são seguros?

Não para uso criptográfico. MD5 foi quebrado em 2004 e SHA-1 em 2017 (SHAttered). Ainda úteis para checksum não-adversarial, mas NUNCA para assinaturas, certificados ou armazenamento de senhas.

Qual hash usar hoje em 2026?

Para uso geral, SHA-256 e o padrão. 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 lê o arquivo localmente. Para arquivos acima de 500MB, o cálculo pode demorar alguns segundos. O limite prático depende da memória RAM do dispositivo.

O arquivo e enviado ao servidor?

Não. A ferramenta usa FileReader e Web Crypto API para processar o arquivo localmente. Nenhum byte e transmitido. Você pode desconectar da internet e continuar usando.

Outras Ferramentas Gratuitas

Codificador Base64/URL/Hex

Converta texto entre Base64, URL encoding e Hexadecimal. Útil 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 verificação de integridade (FIM), assinatura digital de artefatos e controles de supply chain (SBOM).

Solicitar Proposta