Pular para o conteúdo principal
PulsarKit

Calcular hash MD5, SHA-1, SHA-256 e SHA-512

Calcule todos os checksums de um arquivo ou de um texto em uma única leitura e cole o valor esperado para ver de relance se ele confere.

Solte seus arquivos aqui

· até 300 MB

Origem
Mais configurações

Como Calcular hashes

  1. 1

    Solte um arquivo ou cole um texto

    Até cinquenta arquivos de uma vez, ou um texto digitado direto no campo. Arquivos grandes são lidos em partes, e o uso de memória fica estável.

  2. 2

    Escolha quais algoritmos mostrar

    Os quatro vêm marcados por padrão. Marcar menos algoritmos cria menos instâncias de cálculo de hash, o que reduz o tempo de forma mensurável em um arquivo de vários gigabytes.

  3. 3

    Compare ou copie o resultado

    Cole o checksum esperado: o algoritmo correspondente é identificado pelo comprimento do valor, e a comparação é feita para você.

Uma leitura dos dados, não quatro

O jeito ingênuo de gerar quatro checksums é ler o arquivo quatro vezes. Aqui, o arquivo é lido uma única vez, em blocos de dezesseis megabytes, e cada bloco passa por todos os algoritmos selecionados antes que o próximo seja lido. Assim, acrescentar um segundo algoritmo custa tempo de processador, e não outra leitura completa do disco. É também por isso que a leitura em blocos importa para o teto de memória: um arquivo de dois gigabytes nunca fica inteiro na memória, só dezesseis megabytes dele por vez. É isso que torna viável calcular o hash de uma imagem ISO grande ou de um vídeo em uma aba do navegador.

Qual algoritmo usar em cada caso

Para conferir se um download chegou intacto, qualquer um dos quatro serve, porque uma corrupção acidental não fabrica colisões. Use o que foi informado por quem publicou o arquivo. Quando alguém pode criar de propósito um arquivo com o mesmo hash, MD5 e SHA-1 estão quebrados: existem colisões práticas para o MD5 e, desde 2017, também para o SHA-1. Por isso, um MD5 igual já não prova que dois arquivos são idênticos. O SHA-256 é a escolha sensata quando a integridade precisa resistir a um atacante. O SHA-512 não é mais seguro na prática, mas costuma ser mais rápido em hardware de 64 bits. Nenhum deles serve para armazenar senhas: isso exige uma função lenta de propósito, como Argon2 ou bcrypt.

O hash de um texto depende da codificação

Um hash é calculado sobre bytes, e um texto só vira bytes quando uma codificação o transforma. A palavra “Привет” gera um SHA-256 em UTF-8 e outro totalmente diferente em UTF-16LE, e nenhum dos dois está errado: são hashes de sequências de bytes diferentes. Por isso, o conjunto de caracteres é uma escolha explícita, e não uma suposição. E por isso um hash calculado em outro lugar pode não coincidir com o calculado aqui até que as codificações sejam as mesmas. O padrão é UTF-8, porque é isso que quase todo sistema moderno entende por texto.

O arquivo nunca é enviado

O cálculo do hash acontece inteiramente nesta aba do navegador. Conferir um checksum serve para confiar no arquivo, e não em um serviço; mandar o arquivo a um servidor para calcular o hash anularia esse propósito. Nada sai do seu dispositivo.

Perguntas frequentes

Qual algoritmo usar para verificar um download?

O que foi informado por quem publicou o arquivo. Contra corrupção acidental, qualquer um dos quatro basta; quando a preocupação é uma adulteração proposital, use SHA-256 ou SHA-512, porque MD5 e SHA-1 já têm ataques de colisão práticos.

Por que o MD5 não serve para senhas?

Porque ele é rápido, e velocidade é exatamente o que quer um atacante tentando adivinhar senhas. Armazenar senhas exige uma função lenta de propósito e com salt, como Argon2 ou bcrypt; um hash simples, de qualquer velocidade, é a ferramenta errada.

Por que o hash do meu texto muda com a codificação?

Porque o hash é calculado sobre bytes, não sobre caracteres, e UTF-8 e UTF-16LE transformam o mesmo texto em bytes diferentes. Escolha a mesma codificação usada para gerar o valor com que você está comparando.

Dá para calcular o hash de um arquivo muito grande?

Sim. O arquivo é lido em blocos de dezesseis megabytes e nunca fica inteiro na memória. Assim, um arquivo de vários gigabytes é processado com bem menos de cem megabytes de memória.

O que significa quando o hash não confere?

Que os bytes são diferentes dos que foram usados por quem publicou o hash. Em geral, o download veio incompleto ou corrompido, então baixe de novo da fonte original. Se continuar diferente, trate o arquivo como não confiável.

Como a comparação sabe qual algoritmo eu colei?

Pelo comprimento. Um checksum hexadecimal de 32, 40, 64 ou 128 caracteres é, respectivamente, MD5, SHA-1, SHA-256 ou SHA-512. Qualquer outro comprimento é indicado como não reconhecido, em vez de ser comparado com o valor errado.

Meu arquivo é enviado para ser verificado?

Não. Tudo é calculado localmente no seu navegador, com uma biblioteca de hash em WebAssembly, sem nenhum servidor envolvido em momento algum.

Ferramentas relacionadas