UltKit

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.

AlgoritmoBits do digestComprimento em hexBits do blocoStatusHash de entrada vazia
MD512832512Quebrado: colisões encontradas em 2004d41d8cd98f00b204e9800998ecf8427e
SHA-116040512Quebrado: colisão demonstrada em 2017da39a3ee5e6b4b0d3255bfef95601890afd80709
SHA-25625664512Seguro (SHA-2)e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SHA-384384961024Seguro (SHA-2)38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b
SHA-5125121281024Seguro (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.