Generateur de Hash/ MD5 · SHA
Calculez les hachages MD5, SHA-1, SHA-256, SHA-512 en temps reel avec l'API Web Crypto integree du navigateur.
Cet outil a-t-il résolu votre problème ?
Qu'est-ce qu'un algorithme de hachage
Un algorithme de hachage est une fonction à sens unique qui convertit des données d'entrée de toute longueur en une sortie de longueur fixe. Les algorithmes de hachage courants incluent MD5 (128 bits), SHA-1 (160 bits), SHA-256 (256 bits) et SHA-512 (512 bits). Les hashes sont déterministes (même entrée produit toujours même sortie), unidirectionnels (impossible de retrouver les données originales depuis le hash) et présentent l'effet avalanche (de petites modifications d'entrée entraînent de grands changements de sortie).
Cas d'utilisation courants du hachage
Stockage de mots de passe : les systèmes stockent des valeurs de hash (généralement salées) au lieu du texte en clair. Intégrité des fichiers : comparer les hashes SHA-256 après téléchargement pour vérifier l'absence de falsification. Signatures numériques : signer les hashes de documents pour vérifier la source et l'intégrité. Déduplication : utiliser les hashes pour déterminer rapidement si deux données sont identiques. Blockchain : Bitcoin utilise le double hachage SHA-256 pour garantir l'immuabilité des transactions.
MD5 est-il encore sûr
MD5 présente des vulnérabilités de collision connues (des entrées différentes peuvent produire le même hash), ce qui le rend inadapté aux applications sensibles comme le stockage de mots de passe ou les signatures numériques. Cependant, MD5 reste广泛 utilisé dans des contextes non sécuritaires comme les sommes de contrôle de fichiers et la génération de clés de cache. Pour les applications critiques, SHA-256 ou supérieur est recommandé. Notre outil supporte MD5, SHA-1, SHA-256 et SHA-512.
Exemples de code
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