MD5 e SHA-1 não são seguros para senhas; para armazená-las use bcrypt, scrypt ou Argon2.
Este gerador de hash calcula de uma vez MD5, SHA-1, SHA-256, SHA-512, SHA-3, BLAKE3 e CRC32 de textos ou arquivos de qualquer tamanho, em hexadecimal ou Base64. Cole um checksum publicado para verificar um download ou adicione uma chave para gerar assinaturas HMAC. Tudo roda no navegador com WebAssembly, sem enviar arquivos.
Como usar
- Digite ou cole um texto: todos os hashes são atualizados enquanto você digita.
- Ou mude para Arquivos e solte um ou mais arquivos de qualquer tamanho. Eles são lidos em blocos com barra de progresso.
- Toque em qualquer hash para copiar. Ative Maiúsculas ou Base64 para mudar o formato de saída.
- Ative HMAC e digite uma chave secreta para obter assinaturas HMAC em vez de hashes simples.
- Cole um hash esperado em Verificar: a linha que confere fica destacada, ou aparece “Não confere”.
- O cálculo roda no seu navegador com WebAssembly. Textos, arquivos e chaves nunca são enviados.
- O texto é processado como bytes UTF-8 exatamente como digitado, com espaços e quebras de linha.
- MD5 e SHA-1 servem como checksum, mas não são seguros. Use SHA-256, SHA-3 ou BLAKE3 para dados sensíveis, e bcrypt ou Argon2 para senhas.
- HMAC funciona com MD5, SHA-1, SHA-2 e SHA-3. BLAKE2b, BLAKE3 e CRC32 ficam ocultos com HMAC ativo.
- Verificar ignora maiúsculas e espaços e também aceita valores em Base64.
Para que serve um hash
Um hash criptográfico transforma qualquer entrada numa impressão digital de tamanho fixo. Os mesmos bytes sempre geram o mesmo hash, e mudar um único bit altera cerca de metade dos bits do resultado. O SHA-256 da palavra hello é 2cf24dba 5fb0a30e 26e83b2a c5b9e29e 1b161e5c 1fa7425e 73043362 938b9824 (com espaços para facilitar a leitura); com Hello maiúsculo o valor é completamente diferente.
Ele serve para conferir downloads com o checksum publicado, achar arquivos duplicados, armazenar por conteúdo como o Git faz e assinar requisições de API com HMAC. O texto é processado como bytes UTF-8 exatamente como digitado, então um espaço no fim ou uma quebra de linha do Windows mudam o resultado.
Qual algoritmo escolher
MD5 (128 bits) e SHA-1 (160 bits) têm ataques de colisão práticos: servem para detectar corrupção acidental, não para segurança. SHA-256 e SHA-512 (FIPS 180-4) são a escolha segura para checksums e assinaturas. O SHA-3 (FIPS 202) tem um projeto diferente, mantido como reserva do SHA-2. O BLAKE3 é um hash recente e muito rápido em arquivos grandes. O CRC32 é um código de 32 bits para detectar erros, usado em ZIP, PNG e Ethernet; pega falhas de transmissão, mas é fácil de forjar.
Hash não é criptografia
Um hash não pode ser decodificado de volta. Mesmo assim, entradas curtas ou comuns podem ser descobertas por tentativa, por isso senhas devem ser guardadas com uma função lenta e com salt, como Argon2, scrypt ou bcrypt, e não com SHA-256 puro. O HMAC (RFC 2104) mistura uma chave secreta ao hash, então só quem tem a chave consegue gerar ou conferir a assinatura.
Perguntas frequentes
Como verifico o checksum de um arquivo?
Mude para Arquivos, solte o arquivo baixado e cole em Verificar o checksum divulgado. A linha do algoritmo que bate fica destacada; se nada bater, o arquivo é diferente ou está corrompido.
Dá para reverter ou descriptografar um hash?
Não. Hash é uma função de mão única. Entradas curtas, como senhas comuns, podem ser achadas testando muitos palpites, mas não existe chave que transforme o hash nos dados originais.
MD5 ainda é seguro?
Só para tarefas sem exigência de segurança, como detectar mudanças acidentais ou arquivos repetidos. É possível criar arquivos diferentes com o mesmo MD5, então para assinaturas e proteção contra adulteração use SHA-256 ou mais novo.
Qual a diferença entre SHA-256 e SHA-512?
O SHA-256 gera 256 bits (64 caracteres hexadecimais) e o SHA-512, 512 bits (128 caracteres). Os dois são da família SHA-2 e considerados seguros; o SHA-512 costuma ser mais rápido em processadores de 64 bits.
Meus arquivos são enviados para calcular o hash?
Não. Os arquivos são lidos em partes dentro do navegador e processados com WebAssembly, então até arquivos de vários gigabytes ficam no seu aparelho.
Por que meu hash é diferente do que meu código gera?
Quase sempre os bytes de entrada mudaram: uma quebra de linha a mais, outra codificação de texto ou saída em hexadecimal versus Base64. Confira espaços e finais de linha e compare no mesmo formato.