Generador de Hash/ MD5 · SHA
Calcula hashes MD5, SHA-1, SHA-256, SHA-512 en tiempo real usando la API Web Crypto integrada del navegador.
¿Esta herramienta resolvió tu problema?
¿Qué es un algoritmo hash
Un algoritmo hash es una función unidireccional que convierte datos de entrada de cualquier longitud en una salida de longitud fija. Los algoritmos hash comunes incluyen MD5 (128 bits), SHA-1 (160 bits), SHA-256 (256 bits) y SHA-512 (512 bits). Los hashes son deterministas (la misma entrada siempre produce la misma salida), unidireccionales (no se puede revertir el hash para obtener los datos originales) y presentan el efecto avalancha (pequeños cambios de entrada causan grandes cambios de salida).
Casos de uso comunes del hash
Almacenamiento de contraseñas: los sistemas almacenan valores hash (generalmente con sal) en lugar de texto plano. Integridad de archivos: comparar hashes SHA-256 después de descargar para verificar que los archivos no han sido alterados. Firmas digitales: firmar hashes de documentos para verificar origen e integridad. Deduplicación: usar hashes para determinar rápidamente si dos datos son idénticos. Blockchain: Bitcoin usa doble hashing SHA-256 para确保 la inmutabilidad de las transacciones.
¿Es MD5 aún seguro
MD5 tiene vulnerabilidades de colisión conocidas (diferentes entradas pueden producir el mismo hash), haciéndolo inadecuado para aplicaciones sensibles como almacenamiento de contraseñas o firmas digitales. Sin embargo, MD5 sigue广泛 utilizado en contextos no seguros como sumas de verificación de archivos y generación de claves de caché. Para aplicaciones críticas, se recomienda SHA-256 o superior. Nuestra herramienta soporta MD5, SHA-1, SHA-256 y SHA-512.
Ejemplos 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