O que e um hash? MD5 e SHA-256 explicados em linguagem simples
Voce baixa um arquivo e o site exibe uma longa sequencia de letras e numeros rotulada como “SHA-256”. Voce verifica uma senha e, em algum lugar, um sistema compara hashes em vez da propria senha. O hashing esta em toda parte no software e, mesmo assim, costuma ser mal compreendido. A versao curta e que um hash e uma impressao digital de mao unica dos dados. Este guia explica o que isso significa em linguagem simples, como MD5 e SHA-256 diferem e como o Gerador de Hash gratuito produz um hash para qualquer texto que voce fornecer.
O que um hash realmente e
Uma funcao hash recebe qualquer entrada, uma palavra, um paragrafo ou um arquivo inteiro, e produz uma sequencia de comprimento fixo chamada hash ou resumo. A mesma entrada sempre produz a mesma saida, e ate uma minuscula mudanca na entrada produz um resultado completamente diferente.
Tres propriedades tornam o hashing util:
- Comprimento fixo. Quer voce faca o hash de uma unica letra ou de um gigabyte de video, a saida tem o mesmo tamanho, por exemplo 64 caracteres hexadecimais para SHA-256.
- Deterministico. A mesma entrada sempre da o mesmo hash, de modo que duas partes podem calcula-lo de forma independente e compara-lo.
- De mao unica. Voce nao consegue trabalhar de tras para frente a partir de um hash para recuperar a entrada original. E uma impressao digital, nao um codigo reversivel.
Essa natureza de mao unica e justamente o ponto central. Uma impressao digital identifica algo sem ser a propria coisa.
Um hash nao e criptografia
Esta e a distincao que as pessoas erram com mais frequencia. A criptografia e reversivel por design: voce embaralha os dados com uma chave, e qualquer pessoa com a chave certa pode desembaralha-los de volta ao original. Todo o proposito e recuperar os dados mais tarde.
O hashing nao tem chave nem caminho de volta. Voce nao pode “desfazer o hash” de um valor para revelar o que o produziu. Portanto, o hashing nao e uma forma de esconder dados que voce precisa ler novamente depois; e uma forma de verificar e comparar sem armazenar o original. Se o seu objetivo e a confidencialidade, em que os dados precisam sair intactos, voce precisa de criptografia, que e uma categoria totalmente a parte.
MD5 versus SHA-256
Voce vera principalmente dois nomes. Eles fazem o mesmo tipo de trabalho em diferentes niveis de robustez.
MD5 produz um hash de 128 bits, geralmente mostrado como 32 caracteres hexadecimais. E rapido e ainda comum para verificacoes rapidas e nao relacionadas a seguranca, como detectar uma corrupcao acidental de arquivo. Mas o MD5 e considerado quebrado para fins de seguranca: e possivel forjar duas entradas diferentes que produzam o mesmo hash, por isso nunca deve ser usado para proteger algo importante.
SHA-256 produz um hash de 256 bits, mostrado como 64 caracteres hexadecimais, e faz parte da familia SHA-2. E o padrao moderno para trabalhos de integridade e seguranca. Nao se conhecem colisoes praticas, e por isso que downloads, certificados e muitos sistemas publicam valores SHA-256.
Uma regra simples: use MD5 apenas para verificacoes casuais de erros e recorra ao SHA-256 sempre que o resultado precisar ser confiavel.
Usos comuns do hashing
Assim que voce ve o hashing como uma impressao digital, seus usos fazem sentido:
- Verificacoes de integridade de arquivo. Um projeto publica o SHA-256 de um download. Voce faz o hash do arquivo que recebeu e compara. Se os valores coincidem, o arquivo chegou intacto; se nao, ele foi corrompido ou adulterado.
- Verificacao de downloads. A mesma ideia protege contra a troca ou alteracao de um arquivo durante o transito.
- Deteccao de mudancas. Comparar hashes e uma forma rapida de saber se dois arquivos ou dois trechos de texto sao identicos sem le-los linha por linha.
Voce pode experimentar isso voce mesmo com o Gerador de Hash: cole algum texto, gere o seu hash, mude um caractere e observe toda a saida mudar. E gratuito, nao exige cadastro e funciona inteiramente no seu navegador, entao tudo aquilo de que voce fizer o hash permanece no seu proprio dispositivo.
Como o hashing difere do Base64
E facil confundir o hashing com o Base64 porque ambos transformam a entrada em uma sequencia pouco familiar. Eles sao opostos quanto ao proposito. O Base64 e codificacao: e totalmente reversivel e existe para mover dados com seguranca atraves de canais que so aceitam texto. Qualquer pessoa pode decodifica-lo instantaneamente com a ferramenta de Codificar e Decodificar Base64, portanto ele nao oferece protecao alguma. O hashing e de mao unica e existe para verificar, nao para transportar. Codifique quando precisar dos dados de volta; faca o hash quando so precisar confirmar que eles coincidem.
Para tarefas vizinhas, o Gerador de Senhas cria senhas aleatorias fortes (que bons sistemas depois armazenam como hashes), e o Gerador de UUID produz identificadores unicos quando voce precisa de um valor garantidamente distinto em vez de uma impressao digital de dados existentes.
A versao curta
Um hash e uma impressao digital de comprimento fixo e de mao unica: mesma entrada, mesma saida, sem caminho de volta ao original. Use SHA-256 em vez de MD5 sempre que a confianca importar, e lembre-se de que o hashing verifica, enquanto o Base64 transporta e a criptografia oculta. Para ve-lo em acao, coloque algum texto no Gerador de Hash e observe surgir uma impressao digital unica, calculada de forma privada no seu navegador.
Experimente Gerador de Hash agora
Gerador de hash online gratuito. Cole o texto e obtenha os hashes MD5, SHA-1, SHA-256 e SHA-512 na hora, tudo no navegador, sem upload e sem cadastro.
Abrir Gerador de Hash