Uma função hash transforma dados de qualquer tamanho em uma impressão digital de tamanho fixo. A mesma entrada sempre gera o mesmo resultado, mas mudar um único caractere produz um valor totalmente diferente, e não é possível recuperar o original a partir do hash. Por isso ele é usado para verificar downloads, conferir se dois arquivos são idênticos, remover duplicatas em bancos de dados e criar identificadores de cache ou versão.
A ferramenta suporta cinco algoritmos: MD5, SHA-1, SHA-256, SHA-384 e SHA-512. Você pode digitar um texto ou arrastar um arquivo. O MD5 é calculado com spark-md5 e a família SHA com a Web Crypto API nativa do navegador. O resultado pode ser exibido em hexadecimal maiúsculo ou minúsculo, facilitando a comparação caractere por caractere com um checksum publicado. Tudo é calculado localmente e nada é enviado.
Escolha o algoritmo conforme o uso. No MD5 (128 bits) e no SHA-1 (160 bits) é possível fabricar colisões de propósito, então eles não devem mais ser usados em assinaturas ou verificações de segurança, embora ainda sirvam para detectar corrupção acidental na transferência. Para qualquer uso de segurança, use SHA-256 ou superior; páginas de download de software, imagens Linux e blockchains usam SHA-256 amplamente.
Um equívoco comum: hash não é criptografia, e um hash simples não serve para guardar senhas. O SHA-256 é tão rápido que um atacante consegue testar bilhões de palpites por segundo. Sites devem armazenar senhas com algoritmos com salt e propositalmente lentos, como bcrypt, scrypt ou Argon2. Ao verificar um download, só uma correspondência exata com o valor oficial mostra que o arquivo não foi alterado.