Skip to content

Generador de Hash SHA-256 y Verificador de Checksum

Genera hashes SHA-256 online gratis. Hashea texto o archivos en tu navegador, verifica checksums y copia la salida hex de 64 caracteres. Sin registro; los datos nunca salen de la página.

Sin rastreo Se ejecuta en el navegador Gratis
Todo el hasheo se realiza localmente en tu navegador. No se transmite ningún dato a ningún servidor.
Algoritmo
Revisado para verificar la corrección de SHA-256 según los vectores de prueba NIST FIPS 180-4 — Equipo de Ingeniería de Go Tools · May 28, 2026

¿Qué es SHA-256?

SHA-256 (Secure Hash Algorithm, 256 bits) es la función de hash criptográfica más ampliamente desplegada de la familia SHA-2, diseñada por la Agencia de Seguridad Nacional de EE. UU. y publicada por el NIST en 2001 como parte de FIPS 180-2. Toma cualquier entrada — texto, archivo o flujo de bytes — y produce una huella fija de 256 bits (64 caracteres hexadecimales) que identifica la entrada con certeza criptográfica.

SHA-256 ha resistido todos los ataques de colisión desde su publicación. La especificación NIST FIPS 180-4 sigue vigente; está aprobado para uso por el gobierno federal de EE. UU., PCI DSS, FIPS 140-3 y los estándares de Internet del IETF. Sustenta los certificados TLS (la huella que los navegadores muestran en los cuadros de certificados), el formato moderno de ID de objetos de Git (desde Git 2.29 en modo SHA-256), los IDs de transacciones de Bitcoin y la prueba de trabajo, la verificación de firmas JWT (la familia JWS HS256, RS256, ES256) y la columna de integridad de todos los principales gestores de paquetes (npm, pip, cargo, apt).

Esta herramienta calcula SHA-256 completamente en tu navegador usando crypto.subtle.digest('SHA-256', ...) de la Web Crypto API — la misma primitiva que los navegadores usan internamente para los handshakes TLS. No se suben bytes; no interviene ningún servidor. El hash que ves es exactamente el que producirían sha256sum, OpenSSL's dgst -sha256 o Python's hashlib.sha256().

Cuándo usar SHA-256: verificación de integridad de archivos, almacenamiento direccionable por contenido, flujos de trabajo de firma digital, huella de certificados, invalidación de caché mediante hash de contenido, deduplicación. Cuándo no usar SHA-256: almacenamiento de contraseñas (usa bcrypt, scrypt o Argon2 — SHA-256 es demasiado rápido para la defensa de contraseñas), HMAC sin la construcción adecuada (usa una biblioteca HMAC dedicada), o como ID aleatorio de propósito general (usa UUID en su lugar).

Para comparación: SHA-256 produce 64 caracteres hex frente a los 32 de MD5 (roto desde 2004), los 40 de SHA-1 (roto desde 2017), los 96 de SHA-384 y los 128 de SHA-512. La salida de 256 bits proporciona 128 bits de resistencia a colisiones — muy por encima de cualquier ataque computacional previsible.

// Hash text using Web Crypto API (SHA-256)
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, World!');
// → 'dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f'

Ejemplos de SHA-256

Verificar la descarga de una ISO de Ubuntu

ubuntu-24.04.iso

Suelta la ISO descargada en la pestaña Archivo; la herramienta calcula SHA-256 en fragmentos, mostrando el progreso para archivos grandes. Compara el hash resultante con el archivo SHA256SUMS que Ubuntu publica en releases.ubuntu.com. Una coincidencia confirma que la descarga es bit a bit idéntica a lo que Canonical firmó — la comprobación de integridad estándar para cualquier distribución Linux.

Huella digital de un certificado TLS

-----BEGIN CERTIFICATE-----MIIDXTCCAkWg...

Pega un cuerpo de certificado codificado en PEM (sin los marcadores BEGIN/END si tu cadena de herramientas espera DER hex sin procesar). La huella SHA-256 es la que aparece en los cuadros de información de certificados del navegador y en las cabeceras HTTP Public Key Pinning. Los navegadores modernos la muestran como 32 bytes hex separados por dos puntos; esta herramienta te da la forma de 64 caracteres sin separación, que es lo que esperan la mayoría de las APIs y archivos de configuración.

Generar un hash de contenido para invalidación de caché

/* CSS file contents */

Un patrón común en sitios estáticos: hashea el contenido de un archivo CSS o JS, añade los primeros 8 caracteres del hash como cadena de consulta (?v=a1b2c3d4) o sufijo de nombre de archivo (app.a1b2c3d4.css) y sírvelo con una cabecera de caché de 1 año. Cuando el contenido cambia, el hash cambia, invalidando las cachés de forma determinista. SHA-256 es muy adecuado porque las colisiones son prácticamente inviables — incluso truncado a 8 caracteres, la colisión accidental es astronómicamente improbable para un único sitio.

Verificación de preimagen

password123
ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f

El hash SHA-256 de 'password123' es ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f. El objetivo de este ejemplo es el peligro: nunca uses SHA-256 puro para almacenamiento de contraseñas — es demasiado rápido (una GPU moderna aplica fuerza bruta a miles de millones por segundo). Para contraseñas, usa bcrypt, scrypt o Argon2 con sal apropiada y parámetros de coste. SHA-256 es para integridad, no para credenciales.

Cómo generar hashes SHA-256

  1. 1

    Pega texto o suelta un archivo

    Selecciona la pestaña Texto y pega cualquier cadena en el área de entrada, o cambia a la pestaña Archivo y arrastra un archivo desde tu escritorio a la zona de soltar. El selector de algoritmo SHA-256 ya está activo. El hasheo ocurre mientras escribes — no hay botón Generar que pulsar. Para archivos, un indicador de progreso aparece durante subidas grandes (>10 MB).

  2. 2

    Copia el hash de 64 caracteres

    Haz clic en el botón Copiar junto a la salida del hash. El valor hex completo de 64 caracteres va a tu portapapeles. Usa el selector Mayúsculas/Minúsculas si tu sistema de destino requiere un caso específico — Git usa minúsculas, algunas herramientas Windows usan mayúsculas por defecto.

  3. 3

    Verifica con la pestaña Comparar

    Cambia a la pestaña Comparar y pega dos hashes SHA-256 (por ejemplo, el tuyo y el de un editor). La herramienta informa coincidencia/discrepancia con comparación en tiempo constante, de modo que el resultado no filtra información de temporización. Útil para verificar archivos ISO descargados, resúmenes de imágenes de contenedor o huellas de JAR firmados.

Detalles técnicos

Algoritmo: familia SHA-2, construcción Merkle-Damgård
SHA-256 procesa la entrada en bloques de 512 bits, aplicando 64 rondas de operaciones bit a bit (rotaciones, XOR, sumas módulo 2^32) con constantes derivadas de las raíces cúbicas de los primeros 64 primos. El hash final es el estado interno tras el último bloque. Implementación: FIPS 180-4, secciones 4.2 y 6.2.
Salida: 256 bits, 64 caracteres hexadecimales
Siempre exactamente 64 caracteres en el rango [0-9a-f] (minúsculas) o [0-9A-F] (mayúsculas). Las distintas codificaciones (Base64, Base64URL) acortan la cadena; esta herramienta emite la forma canónica hexadecimal.
Rendimiento: ~500 MB/s en navegador, ~2 GB/s nativo
La implementación SHA-256 de Web Crypto está compilada en C/Rust ejecutándose fuera de la VM de JS, por lo que es competitiva con las herramientas nativas. Tasa de hash típica en navegador: 300-800 MB/s. Un archivo de 1 GB se hashea en 1-3 segundos.
Estándares: FIPS 180-4, RFC 6234, NIST SP 800-107
Actualmente aprobado por el NIST para todos los niveles de seguridad hasta 2030 y más allá. Requerido por PCI DSS 4.0 para la integridad de datos de titulares de tarjetas, por FedRAMP y por evaluaciones Common Criteria EAL2+.

Buenas prácticas

Siempre hashea bytes UTF-8, no puntos de código Unicode
Las distintas codificaciones de la misma cadena producen hashes diferentes. UTF-8 es el estándar de facto; esta herramienta codifica la entrada como UTF-8 antes de hashear. Si necesitas coincidir con una herramienta que usa UTF-16 (algunas APIs de Windows) o Latin-1, debes pre-codificar externamente.
Usa comparación en tiempo constante al verificar
Si comparas dos hashes en código, usa una verificación de igualdad en tiempo constante (timingsafe_equal en Node.js, hmac.compare_digest en Python). La comparación simple === o strcmp filtra información de temporización que puede explotarse para recuperar el hash. La pestaña Comparar de esta herramienta ya usa comparación en tiempo constante.
Truncar SHA-256 es aceptable para usos no relacionados con la seguridad
Para nombres de archivo de invalidación de caché o IDs de contenido cortos, tomar los primeros 8 o 16 caracteres hex de un hash SHA-256 está bien — la probabilidad de colisión sigue siendo astronómicamente baja a escala de internet. Para uso criptográfico (firmas, huellas), conserva siempre los 64 caracteres completos.
Combina con sal para cualquier uso con clave
Si usas SHA-256 para derivar una clave o token a partir de un secreto, incluye siempre una sal única por entrada. Sin sal, entradas idénticas producen hashes idénticos — lo que filtra información. Mejor aún: usa HKDF (RFC 5869) o HMAC-SHA-256 en lugar de SHA-256 puro para la derivación de claves.

Preguntas frecuentes sobre SHA-256

¿Qué es SHA-256 y en qué se diferencia de MD5 o SHA-1?
SHA-256 es una función de hash criptográfica de 256 bits de la familia SHA-2, diseñada por la NSA y estandarizada por el NIST en FIPS 180-4. Produce una salida hexadecimal de 64 caracteres. A diferencia de MD5 (128 bits, roto desde 2004) y SHA-1 (160 bits, roto desde 2017), SHA-256 sigue siendo criptográficamente seguro: nunca se ha encontrado ninguna colisión práctica. Es el estándar de la industria actual para firmas digitales, huellas de certificados, IDs de transacciones blockchain y verificación de integridad.
¿Qué longitud tiene un hash SHA-256?
Siempre 64 caracteres hexadecimales (256 bits = 32 bytes, codificados como 2 caracteres hex por byte). La longitud de salida es fija independientemente del tamaño de la entrada — una entrada de 1 byte y una de 10 GB producen las mismas 64 caracteres hex. Esta longitud fija es lo que lo hace útil como huella digital.
¿Es SHA-256 seguro para el almacenamiento de contraseñas?
No. SHA-256 es demasiado rápido — una GPU moderna puede calcular miles de millones de hashes SHA-256 por segundo, que es exactamente lo que quiere un atacante para aplicar fuerza bruta a contraseñas. Usa un hash de contraseña deliberadamente lento: bcrypt, scrypt o Argon2id, cada uno con sal apropiada y un parámetro de coste alto. SHA-256 es para integridad (verificar que los datos no han sido manipulados), no para almacenar secretos. Usa el generador de contraseñas para el lado de la entrada; usa una biblioteca dedicada de hash de contraseñas en el servidor.
¿Puede SHA-256 invertirse para encontrar la entrada original?
No. SHA-256 es una función unidireccional: dado un hash, no hay ningún algoritmo eficiente para recuperar la entrada. El único ataque general es la fuerza bruta — probar cada posible entrada y hashear cada una. Para entradas arbitrarias esto es computacionalmente inviable. La excepción: entradas cortas y predecibles (contraseñas comunes, palabras simples) pueden consultarse en tablas arcoíris, por lo que añadir sal a las contraseñas es importante.
¿Cuál es la diferencia entre SHA-256 y SHA-2?
SHA-2 es el nombre de la familia; SHA-256 es un miembro específico. La familia SHA-2 también incluye SHA-512 (512 bits), SHA-384 (SHA-512 truncado), SHA-224 (SHA-256 truncado), SHA-512/224 y SHA-512/256. Todos comparten la misma construcción Merkle-Damgård con diferentes tamaños de palabra y reglas de truncado. SHA-256 es el miembro más ampliamente desplegado — es el que usan por defecto TLS, JWT, Git y Bitcoin.
¿Se envían mis datos a un servidor al usar esta herramienta?
No. SHA-256 se calcula completamente en tu navegador usando la Web Crypto API (crypto.subtle.digest). Abre DevTools → pestaña Red mientras hasheas — verás cero peticiones salientes. El archivo que sueltas en modo Archivo se lee con la FileReader API y se hashea localmente; los bytes nunca salen de tu máquina. Esto hace que la herramienta sea segura para hashear documentos confidenciales, código propietario o checksums sensibles.
¿Cómo verifico un checksum SHA-256 de una descarga?
1) Descarga el archivo. 2) Abre esta herramienta y haz clic en la pestaña Archivo. 3) Arrastra el archivo a la zona de soltar. 4) Espera a que se calcule el hash (los archivos grandes tardan unos segundos). 5) Abre el archivo SHA256SUMS publicado por el editor. 6) Pega ambos hashes en la pestaña Comparar — verde significa coincidencia, rojo significa que el archivo está corrompido o manipulado. La mayoría de distribuciones Linux, entornos de ejecución de lenguajes (Python, Node.js) y proveedores de software publican checksums SHA-256 junto a sus descargas precisamente para este propósito.
¿Por qué mi salida SHA-256 difiere de una herramienta de línea de comandos?
Casi siempre son espacios en blanco o codificación. El comando de shell `echo "hello" | sha256sum` incluye un salto de línea al final (\n), por lo que el hash es para "hello\n" y no para "hello". Usa `echo -n "hello"` para eliminarlo. Otros problemas: terminaciones de línea Windows (\r\n vs \n), BOM UTF-8, o la diferencia entre hashear bytes UTF-8 frente a bytes UTF-16. SHA-256 es extremadamente sensible — un solo byte cambia toda la salida.
¿Puede SHA-256 hashear un archivo vacío?
Sí. El SHA-256 de cero bytes es una constante bien conocida: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855. A veces se usa como valor centinela o como verificación rápida de que el proceso de hasheo está correctamente conectado.
¿Debo usar SHA-256 o SHA-512?
Usa SHA-256 en la mayoría de los casos — es más rápido en hardware de 32 bits, ampliamente soportado y proporciona 128 bits de seguridad contra colisiones. Usa SHA-512 cuando estés en hardware de 64 bits donde en realidad es más rápido, o cuando necesites específicamente 256 bits de resistencia a colisiones para protocolos criptográficos que lo exigen. Para uso cotidiano (checksums de archivos, Git, TLS), SHA-256 es el estándar.

Herramientas relacionadas

Ver todas las herramientas →

Decodificador JWT

Herramientas de Seguridad

Decodifica tokens JWT online con nuestro decodificador JWT gratis. Inspecciona encabezado, carga útil, firma, expiración y reclamaciones al instante. 100% navegador — tu token nunca sale del dispositivo. Sin registro ni rastreo.

Generador de Hash MD5 Online y Verificador de Checksum

Herramientas de Seguridad

Genera hashes MD5, SHA-256, SHA-1 y SHA-512 gratis — 100% en tu navegador, sin registro. Hashea texto o archivos, verifica checksums y compara hashes con un clic. Tus datos permanecen privados.

Generador de Contraseñas Aleatorias y Seguras

Herramientas de Seguridad

Genera contraseñas seguras al instante — gratis, sin registro, 100% en tu navegador. Personaliza la longitud y los tipos de caracteres, genera hasta 50 contraseñas. Medidor de fortaleza con análisis de entropía.

Generador de Hash SHA-1 (Legado de 160 bits)

Herramientas de Seguridad

Genera hashes SHA-1 en tu navegador — salida hex de 40 caracteres, sin subidas. Herramienta para huellas Git, comprobación de certificados antiguos y auditorías de migración. Datos nunca salen de tu dispositivo.

Generador de Hash SHA-3 (Keccak SHA3-256)

Herramientas de Seguridad

Genera hashes SHA-3 online gratis. Construcción de esponja NIST FIPS 202 — el estándar posterior a SHA-2. Salida SHA3-256 en 64 caracteres hex. Solo en navegador vía js-sha3; sin subidas.

Generador de Hash SHA-384 (Hash Suite B para TLS)

Herramientas de Seguridad

Genera hashes SHA-384 online — salida hex de 96 caracteres, inmune a extensión de longitud, compatible con NSA Suite B. Usado con AES-256-GCM en TLS. Todo el hasheo se ejecuta en tu navegador.