Gerador de Hash
Digite um texto para gerar seus hashes MD5, SHA-1, SHA-256, SHA-384 e SHA-512 — calculados ao vivo.
crypto.subtle nativa).
Digite um texto para gerar seus hashes MD5, SHA-1, SHA-256, SHA-384 e SHA-512 — calculados ao vivo.
crypto.subtle nativa).
Uma função de hash transforma uma entrada de qualquer tamanho (um texto, um arquivo) em uma sequência de tamanho fixo — o digest. A mesma entrada sempre produz o mesmo hash, e uma pequena mudança na entrada muda completamente o resultado (efeito avalanche). Um bom hash criptográfico é unidirecional: é inviável recuperar a entrada original a partir do digest. Hashes são usados para verificar integridade de arquivos, indexar dados, armazenar senhas (com salt e algoritmos próprios como bcrypt/argon2) e assinar conteúdo.
Os hashes SHA são calculados pela Web Crypto API (crypto.subtle.digest),
nativa dos navegadores modernos e implementada em código otimizado. O MD5,
que a Web Crypto propositalmente não oferece (por ser um algoritmo legado),
é calculado por uma implementação em JavaScript puro incluída nesta página, seguindo a
RFC 1321. Em ambos os casos, o texto é primeiro convertido para bytes UTF-8,
de modo que acentos e emojis produzem o mesmo hash que ferramentas de linha de comando.
Não. MD5 e SHA-1 estão quebrados e, além disso, hashes de propósito geral são rápidos demais para senhas (facilitam ataques de força bruta). Para senhas, use algoritmos desenhados para isso, como bcrypt, scrypt ou argon2, sempre com salt.
O resultado depende da codificação dos bytes. Esta ferramenta usa UTF-8, o padrão da web. Se outra ferramenta usar Latin-1 ou UTF-16, o hash do mesmo texto será diferente porque os bytes de entrada são diferentes.
Esta versão trabalha com texto. Para arquivos, o mesmo conceito se aplica lendo os bytes do arquivo; podemos adicionar suporte a upload local (sem envio) em uma próxima versão.