Gerador de hash
Digite um texto ou escolha um arquivo e veja os resumos MD5, SHA-1, SHA-256, SHA-384 e SHA-512 lado a lado, cada um com seu botão de copiar. O cálculo é feito no seu dispositivo com a Web Crypto API do navegador e uma rotina MD5 local, então nenhum arquivo é enviado.
0 caracteres · 0 palavras · 0 linhas
- MD5não usar para segurança
- —
- SHA-1não usar para segurança
- —
- SHA-256
- —
- SHA-384
- —
- SHA-512
- —
0 caracteres · 0 palavras · 0 linhas
Funciona inteiramente nesta aba do navegador. Seu texto nunca é enviado nem armazenado.
Tamanhos de digest
Os comprimentos e os digests de entrada vazia foram calculados com o MD5 da própria página e a Web Crypto API quando a página foi gerada.
| Algoritmo | Bits do digest | Comprimento em hex | Bits do bloco | Status | Hash de entrada vazia |
|---|---|---|---|---|---|
| MD5 | 128 | 32 | 512 | Quebrado: colisões encontradas em 2004 | d41d8cd98f00b204e9800998ecf8427e |
| SHA-1 | 160 | 40 | 512 | Quebrado: colisão demonstrada em 2017 | da39a3ee5e6b4b0d3255bfef95601890afd80709 |
| SHA-256 | 256 | 64 | 512 | Seguro (SHA-2) | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 |
| SHA-384 | 384 | 96 | 1024 | Seguro (SHA-2) | 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b |
| SHA-512 | 512 | 128 | 1024 | Seguro (SHA-2) | cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e |
Cinco algoritmos, dois deles já aposentados
Uma função de hash transforma uma entrada de qualquer tamanho em uma impressão digital de tamanho fixo. Mude um único caractere e cerca de metade dos bits da saída se inverte, então até "UltKit" e "ultkit" geram resultados sem relação entre si. O MD5, publicado por Ron Rivest na RFC 1321 em 1992, gera 128 bits (32 caracteres hexadecimais). Em 2004, Xiaoyun Wang e colegas mostraram como criar duas entradas diferentes com o mesmo hash MD5, e em 2012 o malware Flame usou uma colisão de MD5 para falsificar um certificado de assinatura de código da Microsoft. O SHA-1 (160 bits) caiu da mesma forma quando o Google e o CWI Amsterdam publicaram a primeira colisão real, a SHAttered, em 2017. Os dois aparecem aqui marcados como "não use para segurança".
O SHA-256, o SHA-384 e o SHA-512 pertencem à família SHA-2, especificada pelo NIST na FIPS 180-4, e não se conhece nenhum ataque prático contra eles. O SHA-256 é o padrão para downloads de software, para o formato de objetos mais recente do Git, para certificados TLS e para o Bitcoin. O MD5 e o SHA-1 continuam servindo para tarefas sem adversários, como detectar corrupção acidental ou remover arquivos duplicados, e por isso muitas páginas de download ainda os listam.
Por que hash não é criptografia
A criptografia é reversível por princípio: quem tem a chave recupera o original. Um hash não tem chave e não pode ser revertido, porque inúmeras entradas resultam em cada digest. Isso não faz do hash um cofre seguro para segredos. Quem vê o SHA-256 de uma entrada curta ou comum simplesmente calcula o hash de candidatos até um coincidir, e tabelas pré-calculadas cobrem bilhões de senhas conhecidas. Hashes rápidos são feitos para ser rápidos, e as GPUs atuais testam bilhões de tentativas de SHA-256 por segundo.
Por isso, guarde senhas com um hash de senha deliberadamente lento e com salt, como Argon2, bcrypt ou scrypt, nunca com MD5 ou SHA-256 puros, e crie as próprias senhas com um gerador de senhas. Use esta página para o que os hashes rápidos fazem bem: verificar se um arquivo baixado corresponde ao checksum informado por quem o publicou, comparar dois arquivos sem abri-los ou conferir um digest calculado pelo seu próprio código. O texto é processado em UTF-8 sem quebra de linha no final, que é o motivo mais comum de o resultado diferir de echo "texto" | sha256sum no terminal. O hub de ferramentas para desenvolvedores compara hashing com codificações reversíveis em um mesmo exemplo.
Perguntas frequentes
- Como verificar um arquivo baixado com o checksum SHA-256?
- Escolha o arquivo em Hash a file e compare a linha do SHA-256 com o valor do site de quem o publicou. Todos os caracteres precisam coincidir; hexadecimal em maiúsculas só muda a forma como as letras de a a f são exibidas.
- É possível descriptografar um hash MD5 ou SHA-256?
- Não, não há nada para descriptografar. Os sites que dizem reverter hashes consultam o digest em tabelas de textos já processados, o que só funciona para entradas curtas ou comuns.
- Por que o MD5 continua disponível se está quebrado?
- Muitos sistemas ainda publicam checksums MD5, e ele detecta alterações acidentais perfeitamente bem. Ele só está quebrado contra um atacante capaz de criar arquivos com colisão de propósito.
- Qual é o hash MD5 de uma string vazia?
- d41d8cd98f00b204e9800998ecf8427e. Ver esse valor geralmente significa que o programa calculou o hash de nada, por exemplo porque um arquivo não carregou antes de o hash ser executado.
- O SHA-512 é mais seguro que o SHA-256?
- Nenhum dos dois foi quebrado, e ambos estão muito além da força bruta. O SHA-512 tem uma saída maior e pode ser mais rápido em processadores de 64 bits, mas o SHA-256 é a escolha mais esperada para checksums e assinaturas.