Gerador de Hash/ MD5 · SHA
Calcule hashes MD5, SHA-1, SHA-256, SHA-512 em tempo real usando a API Web Crypto integrada do navegador.
Esta ferramenta resolveu o seu problema?
O que é um algoritmo hash
Um algoritmo hash é uma função unidirecional que converte dados de entrada de qualquer comprimento em uma saída de comprimento fixo. Algoritmos hash comuns incluem MD5 (128 bits), SHA-1 (160 bits), SHA-256 (256 bits) e SHA-512 (512 bits). Hashes são determinísticos (mesma entrada sempre produz mesma saída), unidirecionais (não é possível reverter o hash para obter os dados originais) e呈现 efeito avalanche (pequenas mudanças de entrada causam grandes mudanças de saída).
Casos de uso comuns do hash
Armazenamento de senhas: sistemas armazenam valores hash (geralmente com sal) em vez de texto puro. Integridade de arquivos: comparar hashes SHA-256 após下载 para verificar se os arquivos não foram alterados. Assinaturas digitais: assinar hashes de documentos para verificar origem e integridade. Desduplicação: usar hashes para determinar rapidamente se dois dados são idênticos. Blockchain: Bitcoin usa hashing duplo SHA-256 para确保 a imutabilidade das transações.
MD5 ainda é seguro
MD5 possui vulnerabilidades de colisão conhecidas (entradas diferentes podem produzir o mesmo hash), tornando-o inadequado para aplicações sensíveis como armazenamento de senhas ou assinaturas digitais. No entanto, MD5 ainda é广泛 utilizado em contextos não seguros como checksums de arquivos e geração de chaves de cache. Para aplicações críticas, recomenda-se SHA-256 ou superior. Nossa ferramenta suporta MD5, SHA-1, SHA-256 e SHA-512.
Exemplos de codigo
async function sha256(text) {
const data = new TextEncoder().encode(text);
const hash = await crypto.subtle.digest(
"SHA-256", data
);
return Array.from(new Uint8Array(hash))
.map(b => b.toString(16).padStart(2, "0"))
.join("");
}
await sha256("hello");
// "2cf24dba5fb0a30e26e83b2ac5b9e29e..."import hashlib
text = "hello".encode("utf-8")
print(hashlib.md5(text).hexdigest())
print(hashlib.sha1(text).hexdigest())
print(hashlib.sha256(text).hexdigest())
print(hashlib.sha512(text).hexdigest())
# File hash
with open("file.txt", "rb") as f:
print(hashlib.sha256(f.read()).hexdigest())import (
"crypto/md5"
"crypto/sha256"
"fmt"
)
data := []byte("hello")
md5Hash := md5.Sum(data)
sha256Hash := sha256.Sum256(data)
fmt.Printf("%x\n", md5Hash)
fmt.Printf("%x\n", sha256Hash)# Linux echo -n "hello" | md5sum echo -n "hello" | sha256sum echo -n "hello" | sha512sum # macOS echo -n "hello" | md5 echo -n "hello" | shasum -a 256 # File sha256sum myfile.zip shasum -a 256 myfile.zip