Gerador de hash online (MD5, SHA-1, SHA-256 e mais)

O gerador de hash calcula o MD5, o SHA-1, o SHA-256, o SHA-384 e o SHA-512 de um texto ou de um arquivo ao mesmo tempo. O hash é uma impressão digital de tamanho fixo: o mesmo conteúdo sempre gera o mesmo resultado. O cálculo é feito no seu navegador, sem enviar nada a um servidor.

Atualizado em · Por Leonardo Gaertner

MD5
-
SHA-1
-
SHA-256
-
SHA-384
-
SHA-512
-

Achou um resultado errado ou tem uma sugestão? Avise por e-mail.

Como usar

  1. Digite ou cole um texto, ou escolha um arquivo.
  2. Veja os cinco hashes se atualizarem na hora.
  3. Escolha hexadecimal ou Base64 e, se precisar, maiúsculas. Clique em Copiar no hash que quiser.

Como funciona

Uma função de hash transforma qualquer entrada em uma sequência de tamanho fixo. Uma mudança mínima na entrada, até de uma vírgula, muda o hash por completo. O caminho contrário, do hash de volta ao texto, não existe.

O texto é convertido para bytes em UTF-8 antes do cálculo, então o mesmo texto com acentos gera o mesmo hash em qualquer sistema que use UTF-8. O SHA-1 e a família SHA-2 (SHA-256, SHA-384 e SHA-512) usam a função de hash nativa do navegador, e o MD5, que ela não oferece, é calculado pela própria ferramenta.

MD5 e SHA-1 têm colisões conhecidas e não servem para segurança, só para conferir integridade em contextos sem adversário. Para novos usos, prefira SHA-256 ou superior. E para guardar senhas nenhum deles é adequado: use um algoritmo próprio para isso, como bcrypt, scrypt ou Argon2.

Hashes do texto abc

MD5: 900150983cd24fb0d6963f7d28e17f72

SHA-1: a9993e364706816aba3e25717850c26c9cd0d89d

SHA-256: ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

Fonte: NIST FIPS 180-4: Secure Hash Standard (SHA); RFC 1321: o algoritmo MD5

Em código

Para gerar o hash SHA-256 de um texto em código, a biblioteca padrão de cada linguagem já resolve. Para outros algoritmos, troque o nome na chamada (sha1, md5, sha512).

JavaScript
import { createHash } from 'node:crypto';

function sha256Hex(texto) {
  return createHash('sha256').update(texto, 'utf8').digest('hex');
}

Node.js.

Python
import hashlib


def sha256_hex(texto: str) -> str:
    return hashlib.sha256(texto.encode("utf-8")).hexdigest()
PHP
<?php
function sha256Hex(string $texto): string
{
    return hash('sha256', $texto);
}

Perguntas frequentes

Hash é o mesmo que criptografia?

Não. Criptografia é reversível para quem tem a chave. O hash é de via única: não há como recuperar o texto original a partir dele.

Posso usar MD5 ou SHA-256 para guardar senhas?

Não. Eles são rápidos demais, o que facilita ataques de força bruta. Para senhas, use algoritmos feitos para isso, como bcrypt, scrypt ou Argon2, com sal.

Qual algoritmo devo usar?

Para conferir a integridade de um arquivo, o SHA-256 é a escolha mais comum hoje. MD5 e SHA-1 só servem quando o outro lado exige, por compatibilidade, e não protegem contra adulteração intencional.

Como usar para conferir um arquivo baixado?

Escolha o arquivo aqui, copie o hash do algoritmo que o site de download informa e compare com o valor publicado. Se forem idênticos, o arquivo não foi alterado.