O que é um hash criptográfico?
Uma função hash criptográfica recebe uma entrada de comprimento arbitrário e produz um digest de comprimento fixo. A mesma entrada sempre produz o mesmo digest; inverter um único bit altera cerca de metade dos bits de saída. Esta ferramenta calcula quatro dos digests mais amplamente usados — MD5 (RFC 1321), SHA-1, SHA-256 e SHA-512 (a família SHA é definida pela FIPS 180-4) — para qualquer texto ou arquivo que você forneça, sem nunca enviar os dados para fora do seu dispositivo.
Como funciona este gerador de hash?
O cálculo de hash ocorre inteiramente na sua máquina. SHA-1, SHA-256 e SHA-512 são despachados para a API nativa crypto.subtle.digest do navegador; MD5 utiliza uma implementação de domínio público incluída, porque o Web Crypto não oferece MD5. Os passos são:
- Sua entrada é lida do textarea, ou seu arquivo é lido do disco para um
ArrayBuffer. O texto é codificado como UTF-8 antes de gerar o hash, para que o digest corresponda ao que uma chamada server-sidehashlib.sha256(text.encode())produziria. - Cada algoritmo preenche a mensagem até um limite de bloco e a processa bloco por bloco, misturando os bytes de entrada ao estado interno corrente por meio de uma sequência de operações bit a bit e de aritmética modular.
- Quando o bloco final é consumido, o estado interno é finalizado: MD5 produz 128 bits, SHA-1 produz 160 bits, SHA-256 produz 256 bits e SHA-512 produz 512 bits.
- Os bytes brutos do digest são formatados como hexadecimal em minúsculas ou Base64 padrão, dependendo da codificação escolhida acima dos painéis.
- Cada digest é escrito em seu próprio textarea somente leitura com um botão Copiar. Ao ativar o modo Ao vivo, o hash é recalculado a cada tecla pressionada para que você veja o efeito avalanche em tempo real.
Qual algoritmo de hash devo usar?
Os quatro algoritmos disponíveis aqui cobrem todo o espectro, desde checksums legados até as recomendações criptográficas atuais. Escolha pelo trabalho, não pela familiaridade:
- MD5 (128 bits) — rápido e ubíquo, mas criptograficamente quebrado. Colisões práticas são públicas desde 2004. Use-o apenas para checksums sem fins de segurança: chaves de desduplicação, cache busters, fingerprints estilo ETag e verificação de integridade de arquivos contra um catálogo confiável.
- SHA-1 (160 bits) — também depreciado para segurança. O ataque SHAttered demonstrou uma colisão pública em PDF em 2017. Ainda é visto em IDs de objetos do Git antigos, certificados TLS mais antigos e construções HMAC em que a quebra do hash subjacente ainda não vaza a chave. Não adote-o para trabalhos novos.
- SHA-256 (256 bits) — o padrão atual de uso geral. Utilizado em fingerprints de certificados TLS, hashes de blocos do Bitcoin, checksums de releases de software, digests de imagens de contêiner e na maioria dos pipelines modernos de assinatura de código. Escolha este quando estiver em dúvida.
- SHA-512 (512 bits) — mesma família SHA-2 do SHA-256, com estado interno maior e palavra de 64 bits mais larga. Frequentemente mais rápido que o SHA-256 em CPUs de 64 bits e a escolha preferida quando você precisa de margem extra contra colisões ou digests mais longos para chaves HMAC.
Por que usar este gerador de hash?
- Privacidade: cada byte de entrada é processado localmente no seu navegador. Sem upload de arquivos, sem ida e volta pela rede, sem logs de servidor. O seletor de arquivos lê do disco diretamente via File API.
- Quatro digests em uma só passagem: cole uma vez e leia MD5, SHA-1, SHA-256 e SHA-512 lado a lado; alterne a codificação de saída entre hex e Base64 sem refazer o hash.
- Saída em conformidade com os padrões: a família SHA é delegada para
crypto.subtle.digest, que é a mesma implementação FIPS 180-4 em que seu sistema operacional já confia. O MD5 segue a RFC 1321 byte a byte. - Feito para trabalho de verificação: o modo ao vivo mostra o efeito avalanche enquanto você digita; o painel de arquivos lida com binários até o limite de memória que a aba consegue alocar, para que você possa verificar arquivos de release sem abrir um terminal.
Quais são as aplicações comuns das funções hash?
Hashes aparecem em todo o trabalho cotidiano de engenharia:
- Verificação de downloads: comparar o digest SHA-256 de um arquivo de release com o valor publicado no site do projeto para confirmar que não foi adulterado em trânsito.
- Depuração de integrações: reproduzir o MD5 ou SHA-256 exato que um serviço parceiro espera na assinatura de uma requisição, para encontrar o erro de um caractere no construtor da string canônica.
- Endereçamento por conteúdo: gerar um ID determinístico a partir de um payload para usar como chave de cache, marcador de desduplicação ou identificador de objeto no estilo Git.
Como é um exemplo de hash?
Gerar o hash da string ASCII hello produz 5d41402abc4b2a76b9719d911017c592 como MD5, aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d como SHA-1, 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 como SHA-256 e uma string hexadecimal de 128 caracteres começando com 9b71d224bd62f3785d96d46ad3ea3d73... como SHA-512. Acrescentar um único espaço ao final e recalcular o hash altera cada digest de forma irreconhecível.
Este gerador de hash funciona inteiramente no seu navegador, sobre as mesmas primitivas em que seu sistema operacional já confia: Web Crypto para a família SHA e uma rotina MD5 pequena e auditada para o único digest que o Web Crypto não fornece. Cole, solte um arquivo, copie um digest — nada mais sai da aba.