MD5 de `exemplo1`
- Entrada
- exemplo1
- Saída esperada
- 1803c39c605b289b1a034d073a09b095 (32 caracteres hex, 128 bits)
Saída sempre com 32 caracteres, seja a entrada uma palavra ou um arquivo de gigabytes.
checksum e integridade de arquivo
Um checksum não guarda segredo nenhum, ele prova que um arquivo chegou exatamente do jeito que saiu. A ideia inteira depende de uma propriedade: mudar um único bit da entrada precisa embaralhar a saída inteira, e é isso que diferencia um algoritmo de hash usável de um que já quebrou.
Saída sempre com 32 caracteres, seja a entrada uma palavra ou um arquivo de gigabytes.
1 caractere de diferença na entrada e o hash não compartilha nenhum trecho visível com o de `exemplo1`, o efeito avalanche em ação.
O dobro do tamanho de saída do MD5, o padrão prático hoje para verificar download e para assinatura digital.
Sim. Texto, arquivo e chave HMAC são processados diretamente no navegador, sem upload para servidor.
Não, hash sozinho só prova que o arquivo não mudou desde que o hash foi gerado; qualquer pessoa com o arquivo pode recalcular o mesmo hash, então autoria e origem exigem uma assinatura digital separada, que envolve uma chave privada, não apenas o valor do checksum.
Porque o algoritmo processa os bytes brutos, não o que aparece na tela: um espaço extra, uma quebra de linha diferente (CRLF contra LF) ou metadados embutidos no arquivo já mudam a sequência de bytes o suficiente para disparar o efeito avalanche e gerar um hash completamente distinto.
Sim, para detectar corrupção acidental de arquivo, como um download interrompido, MD5 continua rápido e suficiente, porque nesse cenário ninguém está tentando forjar uma colisão de propósito; o problema aparece só quando o hash precisa resistir a um atacante ativo, aí SHA-256 é obrigatório.
CRC32 é um checksum de 32 bits pensado para detectar erro acidental de transmissão em rede ou disco, não para resistir a um adversário; ele é muito mais rápido de calcular que um hash criptográfico, mas colidir de propósito com ele é trivial, então nunca deve substituir MD5, SHA-1 ou SHA-256 em contexto de segurança.
—Hash moderno e amplamente suportado para integridade.
Texto, arquivos e segredos são processados localmente. Nada é enviado para o servidor.