Gerador de Hash (SHA-256 / SHA-512)

Calcule os hashes SHA-1, SHA-256, SHA-384 e SHA-512 de qualquer texto ou arquivo — localmente, usando o WebCrypto do navegador, sem enviar nada.

1.206 visualizações

Como Funciona

Uma função de hash criptográfica recebe uma entrada de qualquer tamanho — uma palavra, um parágrafo, um arquivo de vários gigabytes — e produz uma saída de tamanho fixo chamada digest: 160 bits para SHA-1, 256 para SHA-256, 384 para SHA-384, 512 para SHA-512. Esta ferramenta calcula os quatro localmente usando o mecanismo WebCrypto embutido no navegador, a mesma implementação auditada em que suas conexões HTTPS já confiam, então até arquivos grandes são processados rapidamente e nunca saem do seu dispositivo.

Três propriedades tornam essas funções úteis. Primeiro, elas são unidirecionais: dado um digest, não há forma prática de recuperar a entrada original — a única opção é calcular o hash de um palpite e comparar. Segundo, são determinísticas: a mesma entrada sempre produz exatamente o mesmo digest, o que é o que torna um checksum significativo. Terceiro, exibem o efeito avalanche — mudar um único bit da entrada, digamos um caractere em um arquivo de vários gigabytes, altera cerca de metade dos bits da saída. Um digest que difira em apenas um caractere hexadecimal já significa que as entradas não são idênticas, ponto final.

Exemplo típico: um fornecedor de software publica sha256sum: 9f86d0... junto com um download. Depois de baixar, calcule o hash do arquivo aqui e compare as duas strings caractere por caractere — se coincidirem, o arquivo chegou intacto; se não coincidirem, ele foi corrompido ou adulterado durante a transferência. A mesma técnica funciona para comparar dois arquivos em busca de conteúdo idêntico byte a byte, ou para gerar uma chave estável de cache-busting a partir do conteúdo de um arquivo.

O Que Você Precisa Saber

O MD5 não é oferecido de propósito. Ele está criptograficamente quebrado: pesquisadores demonstraram ataques práticos de colisão, ou seja, duas entradas diferentes podem ser criadas para produzir o mesmo digest MD5, o que anula sua utilidade para verificações de integridade ou segurança. A API WebCrypto dos navegadores o exclui completamente por esse motivo. Se um fornecedor só publica um checksum MD5, trate-o como último recurso e peça o SHA-256 — praticamente toda distribuição moderna disponibiliza um.

O SHA-1 é adequado para detectar corrupção acidental (um download ruim, um erro de disco), mas está obsoleto para fins de segurança, como certificados e assinaturas digitais, já que ataques de colisão contra ele também já foram demonstrados; prefira SHA-256 ou superior sempre que o resultado precisar resistir a um atacante deliberado.

Por fim, apenas calcular o hash não é a forma correta de armazenar senhas: um SHA-256 puro de uma senha é rápido de calcular, o que significa que um atacante com um banco de dados roubado pode tentar bilhões de palpites por segundo. O armazenamento correto de senhas adiciona um salt (valor aleatório único) por conta e usa uma função lenta e feita para esse propósito (bcrypt, scrypt ou Argon2) — esta ferramenta serve para checksums e verificação de integridade, não para autenticação.

Perguntas Frequentes

Por que o MD5 não é oferecido?

O WebCrypto dos navegadores exclui o MD5 de propósito porque ele está criptograficamente quebrado. Se um fornecedor só publica um checksum MD5, peça o SHA-256 — qualquer distribuição moderna o disponibiliza.

É seguro usar SHA-1?

Para checagens de integridade contra corrupção acidental, sim. Para fins de segurança (assinaturas, certificados) o SHA-1 está obsoleto — prefira SHA-256 ou superior, por isso eles aparecem primeiro na lista.

Meus arquivos são enviados para gerar o hash?

Não. O arquivo é lido e processado dentro do seu navegador com WebCrypto; nada é transmitido para lugar nenhum.

Um hash pode ser revertido de volta à entrada original?

Não — esse é todo o objetivo de uma função unidirecional. Não existe atalho matemático do digest até a entrada; a única forma de "reverter" um hash é chutar entradas e calcular o hash de cada uma até encontrar uma correspondência, o que só é prático contra entradas curtas ou previsíveis. É exatamente assim que despejos de hashes de senha vazados e sem salt acabam sendo quebrados.

Tudo bem usar esta ferramenta para gerar hash de senhas e guardar o resultado?

Não para um sistema de autenticação real. Um hash SHA-2 puro de uma senha é determinístico e rápido, então um banco de dados roubado de hashes pode ser quebrado por força bruta rapidamente. O armazenamento de senhas precisa de um salt (dado aleatório único por conta) e de um algoritmo deliberadamente lento, como bcrypt ou Argon2 — esta ferramenta é feita para verificação de integridade de arquivos e textos, não para armazenar credenciais.

Comentários

Ainda não há comentários — seja o primeiro a escrever um!

Ferramentas Semelhantes