Gerador de hash
Gere hashes criptográficos de qualquer texto.
O que é um hash criptográfico?
Uma função de hash criptográfica recebe qualquer entrada — um único caractere, um documento ou um ficheiro inteiro — e produz uma cadeia de comprimento fixo de caracteres hexadecimais chamada digest. A mesma entrada produz sempre o mesmo hash, mas mesmo uma pequena alteração na entrada produz um output completamente diferente. Esta propriedade chama-se efeito avalanche.
As funções de hash são unidirecionais: não é possível fazer engenharia inversa da entrada original a partir do hash. Isto torna-as fundamentalmente diferentes da encriptação, que foi concebida para ser reversível com a chave correta. O hashing é usado para verificação de integridade de dados, armazenamento de palavras-passe, assinaturas digitais e muitas outras aplicações de segurança.
Algoritmos de hash suportados
- SHA-1: O SHA-1 produz um hash de 160 bits (40 caracteres hex). Foi outrora o padrão para certificados TLS e commits Git, mas foram descobertas fraquezas criptográficas em 2017. O SHA-1 está agora descontinuado para uso em segurança, mas continua a ser comum para checksums não relacionados com segurança.
- SHA-256: O SHA-256 produz um hash de 256 bits (64 caracteres hex). É o algoritmo mais amplamente utilizado atualmente, protegendo ligações TLS, transações Bitcoin, certificados de assinatura de código e verificação de pacotes de software.
- SHA-384: O SHA-384 produz um hash de 384 bits (96 caracteres hex). É uma versão truncada do SHA-512, comummente usado em cadeias de certificados TLS e construções HMAC onde se deseja uma margem de segurança extra.
- SHA-512: O SHA-512 produz um hash de 512 bits (128 caracteres hex). Oferece a máxima robustez na família SHA-2 e pode ser mais rápido do que o SHA-256 em processadores de 64 bits porque opera nativamente com palavras de 64 bits.
Usos comuns do hashing
- Verificar a integridade de ficheiros comparando checksums após transferência.
- Armazenar palavras-passe de forma segura em bases de dados (sempre com um salt único por utilizador).
- Gerar assinaturas digitais para documentos e pacotes de software.
- Cache-busting no desenvolvimento web, adicionando hashes de conteúdo aos nomes de ficheiros.
- Criar identificadores únicos endereçados por conteúdo em sistemas distribuídos.
Hashing vs. encriptação
A encriptação é reversível — pode desencriptar dados com a chave correta. O hashing é uma função unidirecional — não é possível recuperar o texto original a partir de um hash. Isto torna o hashing ideal para palavras-passe (apenas precisa de verificar, não de recuperar) e verificações de integridade (apenas precisa de detetar alterações).
O meu texto está seguro?
Todo o hashing usa a API Web Crypto integrada no browser (crypto.subtle). O seu texto nunca é transmitido para nenhum servidor. A API Web Crypto é o mesmo motor criptográfico usado pelo HTTPS, garantindo implementações de qualidade industrial de cada algoritmo.
Perguntas frequentes
Podem duas entradas diferentes produzir o mesmo hash?
Teoricamente sim — isto chama-se colisão. Contudo, para o SHA-256, encontrar uma colisão requer aproximadamente 2¹²⁸ operações, o que é computacionalmente inviável com a tecnologia atual ou previsível. As colisões do SHA-1 foram demonstradas, razão pela qual foi descontinuado.
Qual algoritmo de hash devo usar?
Para a maioria dos fins, o SHA-256 é a melhor escolha. Oferece segurança robusta, ampla compatibilidade e excelente desempenho. Use o SHA-512 se precisar de uma margem de segurança extra ou estiver a trabalhar em sistemas de 64 bits onde pode ser mais rápido. Evite o SHA-1 para qualquer aplicação sensível à segurança.