Generar hash SHA-256

Escribe o pega algo y obtén su SHA-256: sesenta y cuatro caracteres hexadecimales, calculados con la implementación criptográfica que el propio navegador incorpora. Es el hash que hay que usar hoy cuando la pregunta es de integridad, y esta página lo calcula sin que el texto salga de tu equipo — lo cual importa, porque lo que se hashea suele ser justo lo que no conviene mover.

Resultado

La respuesta aparece aquí mientras escribes.

  • Dónde se ejecuta

    No se sube nada, porque no hay archivo: se calcula en esta misma página.

  • Sin cola y sin cuenta

    Responde tan rápido como dé tu máquina, y nunca pregunta quién eres.

  • Tantas veces como quieras

    No se cuenta nada ni se limita nada: volver a responder no nos cuesta nada.

Cómo funciona

  1. Pega el texto en el campo.
  2. Copia los 64 caracteres hexadecimales.
  3. No se ha subido nada.

Por qué este y no otro

SHA-256 es el hash por defecto de casi todo lo que se ha diseñado en los últimos quince años: certificados TLS, firmas de paquetes, Bitcoin, los tokens de integridad de los navegadores. No tiene ataques prácticos conocidos y el margen frente a los teóricos es amplio.

La elección no es de gusto sino de interoperabilidad. Aunque SHA-512 sea más rápido en hardware de 64 bits, SHA-256 es el valor que el resto de sistemas espera, y coincidir con lo que espera la otra parte vale más que un margen que nadie va a alcanzar.

La longitud no es un mando de seguridad

Un hash más largo suena a más protección y, en el rango en el que trabaja SHA-2, no lo es. Frente a colisiones cuenta la mitad de la longitud en bits — 128 en SHA-256 —, y 2^128 intentos quedan fuera de lo que permiten la energía y el tiempo disponibles en el universo conocido.

Por eso la elección entre los dos es práctica: SHA-512 corre más en máquinas de 64 bits, SHA-256 es lo que espera todo lo demás. Salvo que estés hasheando volúmenes enormes de datos, el criterio correcto es con quién tienes que entenderte.

La criptografía la pone el navegador

Este cálculo usa `crypto.subtle`, la implementación que el navegador trae incorporada y que ya está auditada y optimizada — la misma que usa para verificar los certificados de cada página que abres. No se ha escrito aquí ninguna versión propia de SHA-256.

Es una decisión deliberada. Un hash implementado a mano puede pasar todos los vectores de prueba y aun así tener un fallo en un caso límite, y un hash sutilmente equivocado es peor que ninguno porque parece correcto. Donde el navegador ofrece la primitiva, se usa la del navegador.

Sesenta y cuatro caracteres

SHA-256 son 256 bits, escritos como 64 dígitos hexadecimales. La longitud es siempre la misma, con independencia del tamaño de la entrada, porque un hash resume a tamaño fijo.

Sirve para identificar un valor de un vistazo: 32 caracteres son MD5, 40 son SHA-1 y 64 son SHA-256. Si algo etiquetado como SHA-256 tiene otra longitud, el etiquetado está mal — cosa que pasa a menudo en documentación heredada.

El salto de línea que rompe la comparación

Una herramienta de Unix escribe un salto de línea al final de un archivo; un campo de texto no. El SHA-256 de un archivo con una palabra dentro difiere por completo del SHA-256 de esa palabra escrita aquí — por completo, porque un hash no da puntos parciales y un solo byte de más cambia todos los caracteres del resultado.

Quien coteje contra `sha256sum` debería comprobar eso antes que la codificación. Las dos causas se ven idénticas — dos valores sin nada en común — y ambas se descartan en un minuto, mientras que buscar un supuesto fallo de implementación cuesta una tarde.

La codificación importa tanto como el texto

El hash se calcula sobre bytes, y el texto se convierte a bytes en UTF-8. Una `ñ` son dos bytes; en Latin-1 habría sido uno. Dos programas que muestren el mismo texto en pantalla pueden estar hasheando secuencias de bytes distintas.

Cuando dos valores no cuadran y la entrada lleva tildes, eñes o cualquier carácter no ASCII, ese es el primer sitio donde mirar. El hash no está mal en ninguno de los dos lados: están resumiendo cosas distintas.

Un hash no es una firma

Un hash dice que dos contenidos son iguales. No dice quién los produjo ni impide que alguien sustituya el contenido y también el hash publicado a su lado. Para eso hace falta una firma, que añade una clave que solo tiene el emisor.

De ahí que una suma de verificación publicada en la misma página que el archivo proteja contra un espejo defectuoso pero no contra alguien que controle la página. Cuando importa la procedencia y no solo la integridad, la respuesta es una firma — HMAC si la clave es compartida, una firma asimétrica si no.

Por qué el texto y no el archivo

Para archivos hay en esta web una página de sumas de verificación con zona de arrastre, y responde a otra pregunta: si una descarga ha llegado intacta. Esta responde cuál es el hash de un valor — un campo de una base de datos, un payload antes de firmarlo, un identificador que debe salir siempre igual.

Poner las dos cosas en una sola página dejaría a cada visitante con la mitad de la interfaz sobrando. El algoritmo es el mismo y sale de la misma criptografía incorporada; lo único que cambia es la pregunta, y por eso cambian las páginas.

Qué significa esto para el RGPD

Es habitual hashear un correo electrónico o un documento de identidad creyendo que eso lo anonimiza. No lo hace: cuando el conjunto de entradas posibles es pequeño o predecible, el hash se revierte probándolas, y por eso las autoridades de protección de datos tratan esos valores como seudónimos y no como datos anónimos.

La parte que sí resuelve esta página es que el cálculo ocurre en tu equipo, así que ni el valor original ni el hash se nos comunican. Es lo que permite usarla con datos reales; lo que no cambia es qué naturaleza tiene el resultado.

Generar hash SHA-256: preguntas frecuentes

¿Es más seguro SHA-512?

En la práctica, no: contra colisiones cuentan 128 bits en SHA-256, y ese número está fuera del alcance de cualquier cómputo imaginable. SHA-512 es más rápido en máquinas de 64 bits; SHA-256 es lo que espera todo lo demás.

¿Se puede revertir?

No de forma directa. Lo que se hace es probar candidatos, y por eso hashear un valor de un conjunto pequeño y predecible — un correo, un DNI — no lo protege realmente.

¿Por qué no coincide con sha256sum?

Lo más probable es el salto de línea final del archivo, que un campo de texto no tiene. Un solo byte cambia el hash completo. La segunda causa es la codificación del texto.

¿Sirve como firma?

No. Un hash dice que dos contenidos coinciden, no quién los produjo, y quien pueda cambiar el archivo suele poder cambiar también el hash publicado. Para procedencia hace falta HMAC o una firma asimétrica.

¿Sale de mi equipo el texto?

No. Se calcula con la criptografía incorporada del navegador, en esta página. El panel de red lo confirma mientras escribes.

Otras herramientas