Hashes criptograficos: a impressao digital dos dados
Uma funcao hash criptografica e um algoritmo que transforma um input de qualquer tamanho (um arquivo de 1 byte ou de 10 GB) em uma string de comprimento fixo chamada digest ou hash. As propriedades fundamentais de um bom hash criptografico sao tres: e deterministico (o mesmo input sempre produz o mesmo hash), e unidirecional (do hash nao se pode obter o input), e e resistente a colisoes (e praticamente impossivel encontrar dois inputs diferentes com o mesmo hash). Essas propriedades tornam os hashes fundamentais para a seguranca da informacao.
Nosso Hash Generator calcula hashes com os algoritmos mais difundidos: MD5 (128 bits, obsoleto para seguranca mas ainda usado para checksums), SHA-1 (160 bits, obsoleto), SHA-256 (256 bits, o padrao atual), e SHA-512 (512 bits, para seguranca extra). Basta inserir o texto e a ferramenta calcula instantaneamente o hash com todos os algoritmos, permitindo comparacao e verificacao.
Qual algoritmo escolher
Para uso geral (verificacao de integridade de arquivos, assinaturas digitais, blockchain), SHA-256 e o padrao. Para armazenamento de senhas, nao use nenhum destes: sao necessarios algoritmos especificos como bcrypt, scrypt ou Argon2 que sao deliberadamente lentos para resistir ao brute-force. MD5 e SHA-1, apesar de suas vulnerabilidades criptograficas, ainda sao usados para checksums nao de seguranca: verificar se um download esta corrompido, gerar IDs unicos ou deduplicar arquivos.
Usos praticos dos hashes
Verificacao de integridade de arquivos: quando voce baixa um software, o site frequentemente publica o hash SHA-256 do arquivo. Calcule o hash do arquivo baixado com nossa ferramenta e compare com o publicado. Se coincidem, o arquivo esta integro e nao foi alterado (por malware ou um mirror comprometido). Para gerar senhas seguras para usar como input do hash, use nosso Password Generator que produz strings criptograficamente aleatorias.
No mundo da seguranca web, os hashes protegem as senhas armazenadas: o servidor nunca salva a senha em texto simples, mas seu hash. Durante o login, calcula o hash do input e o compara com o armazenado. Se o banco de dados e comprometido, o atacante obtem apenas os hashes, nao as senhas. Para proteger dados em transito, verifique que seu site usa HTTPS com SSL Check — um hash de senha enviado por HTTP e interceptavel e pode ser usado diretamente (pass-the-hash).
Um conceito avancado: o salt. Adicionar uma string aleatoria unica (salt) a senha antes do hashing previne ataques com rainbow tables (tabelas de hashes pre-calculados). Sem salt, senhas iguais produzem hashes iguais, permitindo ataques em lote. Com salt unico por usuario, cada hash e diferente mesmo para senhas identicas, e as rainbow tables se tornam inuteis. Todos os frameworks web modernos lidam com o salt automaticamente — se voce implementa o hashing manualmente, use sempre um salt aleatorio de pelo menos 16 bytes.