Un hash es una “huella digital” de longitud fija que identifica unívocamente un contenido. Nuestro generador de hashes y checksums calcula algoritmos criptográficos y de integridad sobre texto o archivos — 100 % en tu navegador, sin subir nada, funciona offline.
Algoritmos soportados
Criptográficos (seguridad: firmas, certificados, blockchain, Git, TLS)
| Algoritmo | Longitud | Estado | Uso principal |
|---|---|---|---|
| MD5 | 128 bit (32 hex) | 💥 Roto (colisiones 2004) | Solo legado / checksums no seguras |
| SHA-1 | 160 bit (40 hex) | 💥 Roto (SHAttered 2017) | Solo legado / Git (migración a SHA-256) |
| SHA-224 | 224 bit (56 hex) | ✅ Seguro | Certificados, compatibilidad |
| SHA-256 | 256 bit (64 hex) | ✅ Estándar actual | TLS 1.2/1.3, Bitcoin, Git, firmas, Linux ISOs |
| SHA-384 | 384 bit (96 hex) | ✅ Seguro | TLS, certificados de alta seguridad |
| SHA-512 | 512 bit (128 hex) | ✅ Seguro | Hashing contraseñas (con salt/iteraciones), firmas |
| SHA3-256 | 256 bit | ✅ Moderno (Keccak) | Post-cuántico, nuevos diseños |
| SHA3-512 | 512 bit | ✅ Moderno | Post-cuántico |
| BLAKE2b | 512 bit (configurable) | ✅ Moderno, más rápido que SHA-2 | Aplicaciones de alto rendimiento, Argon2 |
| RIPEMD-160 | 160 bit | ✅ Seguro (nichos) | Bitcoin (direcciones P2PKH + SHA-256) |
Checksums / No criptográficos (integridad de transmisión, almacenamiento)
| Algoritmo | Longitud | Uso |
|---|---|---|
| CRC32 (ISO 3309) | 32 bit (8 hex) | ZIP, PNG, gzip, Ethernet, SATA |
| CRC32C (Castagnoli) | 32 bit | iSCSI, SCTP, Btrfs, ext4, Google Cloud Storage |
| Adler-32 | 32 bit | zlib, rsync (rápido, menos robusto que CRC32) |
CRC ≠ Hash criptográfico. CRC detecta errores aleatorios (ruido, bit rot). No resiste manipulación intencional.
HMAC (autenticación + integridad con clave secreta)
| Algoritmo | Uso |
|---|---|
| HMAC-SHA-256 | JWT (HS256), webhooks (Stripe, GitHub, Slack), cookies firmadas, API keys |
| HMAC-SHA-512 | Alta seguridad, claves largas |
HMAC = H(key ⊕ opad, H(key ⊕ ipad, message)). Solo quien tiene
keypuede generar/verificar.
Arquitectura: 100 % Client-Side (Web Crypto API)
┌─────────────────────────────────────────────────────────────┐
│ NAVEGADOR (tu dispositivo) │
│ ┌─────────────────┐ ┌───────────────────────────────┐ │
│ │ File API / │───▶│ SubtleCrypto.digest() │ │
│ │ Text Input │ │ (SHA-256, SHA-384, SHA-512, │ │
│ │ │ │ SHA-1, MD5, SHA-3, BLAKE2*) │ │
│ └─────────────────┘ └───────────────────────────────┘ │
│ │ │ │
│ │ ┌────────▼────────┐ │
│ │ │ WASM (CRC32, │ │
│ │ │ CRC32C, │ │
│ └───────────────▶│ Adler-32, │ │
│ │ RIPEMD-160) │ │
│ └─────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ Hex / Base64 │ │
│ │ Output + Copy │ │
│ └─────────────────┘ │
└─────────────────────────────────────────────────────────────┘
▲ ▲
│ │
CERO RED CERO SERVIDOR
- Web Crypto API (SubtleCrypto): nativa, CSPRNG, implementada en C++ del navegador (constante-tiempo, side-channel resistant).
- WASM para algoritmos no nativos (CRC32, CRC32C, Adler-32, RIPEMD-160, BLAKE2b) — compilados de Rust/Go, auditable.
- Streaming por chunks (2–8 MB):
file.stream().pipeThrough(new TransformStream(...))→crypto.subtle.digest()incremental. Archivos de 10+ GB sin OOM.
Casos de uso comunes
| Caso | Algoritmo | Flujo |
|---|---|---|
| Verificar ISO Linux / firmware | SHA-256 | Descarga .sha256sum oficial → arrastra ISO → compara |
| Verificar descarga ZIP / release GitHub | SHA-256 / SHA-512 | Release assets → sha256.txt → compara |
| Integridad de backup / archivo local | SHA-256 + CRC32 | Hash criptográfico (seguridad) + CRC (detección bit rot) |
| Firmar payload API / webhook | HMAC-SHA-256 | Clave secreta compartida → genera HMAC → header X-Signature |
| Verificar webhook Stripe / GitHub | HMAC-SHA-256 | Copia Stripe-Signature / X-Hub-Signature-256 → pega clave → verifica |
| Dirección Bitcoin (legacy) | SHA-256 + RIPEMD-160 | RIPEMD160(SHA256(pubkey)) → Base58Check |
| Git commit ID | SHA-1 (legado) / SHA-256 (nuevo) | git hash-object / git log --format=%H |
| Deduplicación de archivos | SHA-256 / BLAKE2b | Hash de cada archivo → mapa hash→paths → detecta duplicados |
Comparador integrado (evita errores visuales)
Pega el hash de referencia → el comparador resalta:
Generado: a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e
Esperado: A591A6D40BF420404A011733CFB7B190D62C65BF0BCDA32B57B277D9AD9F146E
▲ ▲
✅ Coinciden (case-insensitive hex)
Exportación para auditoría / CI
[
{
"file": "ubuntu-24.04-live-server-amd64.iso",
"size": 1234567890,
"algorithm": "SHA-256",
"hash_hex": "a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e",
"hash_b64": "pZGm1Av0IFAEgRczz7exkNYsbL8LzaM3V7J32a2fFG4=",
"timestamp": "2026-09-13T10:15:30.123Z"
}
]
Privacidad y límites
- Archivos nunca subidos:
Fileobject →ReadableStream→SubtleCrypto.digest()— todo en memoria del tab. - Offline: tras primera carga (Service Worker / cache), funciona sin internet.
- Límites: RAM del navegador (Chrome/FF desktop ~ 4–8 GB heap; chunked streaming permite > 10 GB). Móvil: ~1–2 GB.
- Sin logs, sin analytics, sin cookies en la herramienta.
Calcular hash / checksum ahora.
Referencias
- NIST FIPS 180-4 (SHA-1, SHA-2 family)
- NIST FIPS 202 (SHA-3 / Keccak)
- RFC 6234 (HMAC)
- RFC 7693 (BLAKE2)
- ISO 3309 / ISO 13239 (CRC32)
- RFC 3720 (CRC32C / Castagnoli)
- Bitcoin Protocol (RIPEMD-160 + SHA-256 → Base58Check)
¿Verificar una descarga o firmar un payload? → Abrir generador de hashes — arrastra tu archivo, elige algoritmo, compara al instante.
A hash is a fixed-length “digital fingerprint” that uniquely identifies content. Our hash & checksum generator computes cryptographic and integrity algorithms on text or files — 100 % in your browser, no uploads, works offline.
Supported algorithms
Cryptographic (security: signatures, certificates, blockchain, Git, TLS)
| Algorithm | Length | Status | Main use |
|---|---|---|---|
| MD5 | 128 bit (32 hex) | 💥 Broken (collisions 2004) | Legacy only / non-secure checksums |
| SHA-1 | 160 bit (40 hex) | 💥 Broken (SHAttered 2017) | Legacy only / Git (migrating to SHA-256) |
| SHA-224 | 224 bit (56 hex) | ✅ Secure | Certificates, compatibility |
| SHA-256 | 256 bit (64 hex) | ✅ Current standard | TLS 1.2/1.3, Bitcoin, Git, signatures, Linux ISOs |
| SHA-384 | 384 bit (96 hex) | ✅ Secure | TLS, high-security certificates |
| SHA-512 | 512 bit (128 hex) | ✅ Secure | Password hashing (with salt/iterations), signatures |
| SHA3-256 | 256 bit | ✅ Modern (Keccak) | Post-quantum, new designs |
| SHA3-512 | 512 bit | ✅ Modern | Post-quantum |
| BLAKE2b | 512 bit (configurable) | ✅ Modern, faster than SHA-2 | High-performance apps, Argon2 |
| RIPEMD-160 | 160 bit | ✅ Secure (niche) | Bitcoin (P2PKH addresses + SHA-256) |
Checksums / Non-cryptographic (transmission/storage integrity)
| Algorithm | Length | Use |
|---|---|---|
| CRC32 (ISO 3309) | 32 bit (8 hex) | ZIP, PNG, gzip, Ethernet, SATA |
| CRC32C (Castagnoli) | 32 bit | iSCSI, SCTP, Btrfs, ext4, Google Cloud Storage |
| Adler-32 | 32 bit | zlib, rsync (fast, less robust than CRC32) |
CRC ≠ Cryptographic hash. CRC detects random errors (noise, bit rot). Does not resist intentional tampering.
HMAC (authentication + integrity with secret key)
| Algorithm | Use |
|---|---|
| HMAC-SHA-256 | JWT (HS256), webhooks (Stripe, GitHub, Slack), signed cookies, API keys |
| HMAC-SHA-512 | High security, long keys |
HMAC = H(key ⊕ opad, H(key ⊕ ipad, message)). Only key holder can generate/verify.
Architecture: 100 % Client-Side (Web Crypto API)
┌─────────────────────────────────────────────────────────────┐
│ BROWSER (your device) │
│ ┌─────────────────┐ ┌───────────────────────────────┐ │
│ │ File API / │───▶│ SubtleCrypto.digest() │ │
│ │ Text Input │ │ (SHA-256, SHA-384, SHA-512, │ │
│ │ │ │ SHA-1, MD5, SHA-3, BLAKE2*) │ │
│ └─────────────────┘ └───────────────────────────────┘ │
│ │ │ │
│ │ ┌────────▼────────┐ │
│ │ │ WASM (CRC32, │ │
│ │ │ CRC32C, │ │
│ └───────────────▶│ Adler-32, │ │
│ │ RIPEMD-160) │ │
│ └─────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ Hex / Base64 │ │
│ │ Output + Copy │ │
│ └─────────────────┘ │
└─────────────────────────────────────────────────────────────┘
▲ ▲
│ │
ZERO NETWORK ZERO SERVER
- Web Crypto API (SubtleCrypto): native, CSPRNG, implemented in browser C++ (constant-time, side-channel resistant).
- WASM for non-native algorithms (CRC32, CRC32C, Adler-32, RIPEMD-160, BLAKE2b) — compiled from Rust/Go, auditable.
- Chunked streaming (2–8 MB):
file.stream().pipeThrough(new TransformStream(...))→crypto.subtle.digest()incremental. 10+ GB files without OOM.
Common use cases
| Case | Algorithm | Flow |
|---|---|---|
| Verify Linux ISO / firmware | SHA-256 | Download official .sha256sum → drag ISO → compare |
| Verify ZIP download / GitHub release | SHA-256 / SHA-512 | Release assets → sha256.txt → compare |
| Backup / local file integrity | SHA-256 + CRC32 | Crypto hash (security) + CRC (bit rot detection) |
| Sign API payload / webhook | HMAC-SHA-256 | Shared secret → generate HMAC → X-Signature header |
| Verify Stripe / GitHub webhook | HMAC-SHA-256 | Copy Stripe-Signature / X-Hub-Signature-256 → paste key → verify |
| Bitcoin address (legacy) | SHA-256 + RIPEMD-160 | RIPEMD160(SHA256(pubkey)) → Base58Check |
| Git commit ID | SHA-1 (legacy) / SHA-256 (new) | git hash-object / git log --format=%H |
| File deduplication | SHA-256 / BLAKE2b | Hash each file → hash→paths map → detect duplicates |
Built-in comparator (avoids visual errors)
Paste reference hash → comparator highlights:
Generated: a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e
Expected: A591A6D40BF420404A011733CFB7B190D62C65BF0BCDA32B57B277D9AD9F146E
▲ ▲
✅ Match (case-insensitive hex)
Export for audit / CI
[
{
"file": "ubuntu-24.04-live-server-amd64.iso",
"size": 1234567890,
"algorithm": "SHA-256",
"hash_hex": "a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e",
"hash_b64": "pZGm1Av0IFAEgRczz7exkNYsbL8LzaM3V7J32a2fFG4=",
"timestamp": "2026-09-13T10:15:30.123Z"
}
]
Privacy and limits
- Files never uploaded:
Fileobject →ReadableStream→SubtleCrypto.digest()— all in tab memory. - Offline: after first load (Service Worker / cache), works without internet.
- Limits: browser RAM (Chrome/FF desktop ~ 4–8 GB heap; chunked streaming allows > 10 GB). Mobile: ~1–2 GB.
- No logs, no analytics, no cookies on the tool.
Calculate hash / checksum now.
References
- NIST FIPS 180-4 (SHA-1, SHA-2 family)
- NIST FIPS 202 (SHA-3 / Keccak)
- RFC 6234 (HMAC)
- RFC 7693 (BLAKE2)
- ISO 3309 / ISO 13239 (CRC32)
- RFC 3720 (CRC32C / Castagnoli)
- Bitcoin Protocol (RIPEMD-160 + SHA-256 → Base58Check)
Verify a download or sign a payload? → Open hash generator — drag your file, pick algorithm, compare instantly.