Tutorial · Desarrolladores

Cómo generar un hash SHA-256 y para qué sirve

Descargas un programa y la web oficial publica una cadena de 64 caracteres junto al enlace. Te piden verificar la «suma SHA-256» antes de instalar. O lees que las contraseñas se guardan «hasheadas» y te preguntas qué significa. SHA-256 está en todas partes, pero pocos saben qué es realmente.

En este tutorial aprenderás qué es una función hash, cómo generar un SHA-256 paso a paso, sus tres usos principales —verificar descargas, proteger contraseñas e integridad de datos— y sus límites. Sin matemáticas avanzadas: solo conceptos claros y ejemplos que puedes reproducir.

Qué es un hash: la huella dactilar digital

Una función hash toma una entrada de cualquier tamaño —un texto, un archivo, una película— y produce una salida de tamaño fijo que parece aleatoria. SHA-256 produce siempre 64 caracteres hexadecimales (256 bits), tanto si la entrada es «hola» como si es una biblioteca entera. El hash de «hola» es 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824.

Tres propiedades lo hacen útil. Determinismo: la misma entrada produce siempre el mismo hash. Efecto avalancha: cambiar un solo carácter de la entrada cambia por completo el hash —«Hola» con mayúscula da un hash totalmente distinto—. Unidireccionalidad: del hash no se puede reconstruir la entrada; solo se puede comprobar si una entrada candidata produce ese hash.

Piensa en el hash como una huella dactilar digital: identifica el contenido de forma única sin revelar su contenido. Dos archivos con el mismo SHA-256 son, a efectos prácticos, idénticos; dos archivos con distinto hash son distintos, aunque la diferencia sea de un solo byte.

Cómo generar un SHA-256: texto y archivos

Generar el hash de un texto es inmediato con herramientas online: escribes o pegas el texto, eliges SHA-256 y obtienes los 64 caracteres. Prueba con «hola» y verifica que obtienes 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824: si coincide, la herramienta funciona correctamente.

Para archivos, cada sistema operativo trae su propia herramienta. En Windows, abre PowerShell y ejecuta Get-FileHash ruta\archivo -Algorithm SHA256. En macOS y Linux, abre el terminal y ejecuta shasum -a 256 ruta/archivo o sha256sum ruta/archivo. El resultado es el hash del archivo completo, por grande que sea.

Un consejo de precisión: los hashes son sensibles a detalles invisibles. Un salto de línea al final del texto, un espacio extra o una codificación distinta (UTF-8 vs. Latin-1) cambian el hash por completo. Si tu hash no coincide con el publicado, antes de alarmarte verifica que estás hasheando exactamente los mismos bytes.

Uso 1: Verificar que una descarga es auténtica

El uso más cotidiano es verificar descargas. Cuando descargas un sistema operativo, un instalador o cualquier software importante, la web oficial suele publicar su SHA-256. Generas el hash del archivo descargado y lo comparas: si coincide carácter por carácter, el archivo es auténtico e íntegro; si no, no lo instales.

Esta verificación protege contra dos amenazas: descargas corruptas —el archivo se dañó en la transferencia— y descargas manipuladas —alguien sustituyó el archivo por una versión con malware—. El hash oficial actúa como sello: cualquier alteración, por mínima que sea, cambia el hash.

El procedimiento en la práctica: descarga el archivo y el hash oficial (normalmente en un archivo .sha256 o en la misma página). Genera el hash local con las herramientas del paso anterior y compara visualmente o con un comparador de textos. Compara los 64 caracteres, no solo el principio: los atacantes a veces generan archivos con hashes parcialmente coincidentes.

Uso 2: Proteger contraseñas (y por qué deben ser largas)

El segundo uso es proteger contraseñas. Los servicios serios nunca guardan tu contraseña en texto plano: guardan su hash. Cuando inicias sesión, calculan el hash de lo que escribes y lo comparan con el guardado. Así, si alguien roba la base de datos, obtiene hashes inútiles en lugar de contraseñas.

En la práctica moderna se usan variantes diseñadas para contraseñas —bcrypt, Argon2— que añaden «sal» (datos aleatorios únicos por usuario) y coste computacional para frenar ataques de fuerza bruta. SHA-256 puro es demasiado rápido para este uso: un atacante puede probar miles de millones de candidatos por segundo con hardware especializado.

La lección para ti como usuario: como los hashes no se pueden revertir pero sí se pueden adivinar por fuerza bruta, las contraseñas cortas y comunes son vulnerables aunque estén hasheadas. Una contraseña larga y única sigue siendo tu mejor defensa, combinada con un gestor de contraseñas y doble factor de autenticación.

Uso 3: Integridad de datos y firmas digitales

El tercer uso es garantizar la integridad de datos: detectar si algo cambió. Los sistemas de control de versiones como Git identifican cada cambio con un hash SHA-1 (migrando a SHA-256); las cadenas de bloques encadenan hashes para hacer inmutable el historial; los certificados digitales firman hashes de documentos.

Un caso práctico para desarrolladores: antes de calcular el hash de un documento JSON —por ejemplo, para firmarlo o compararlo—, formatéalo de forma canónica. Con la herramienta gratuita de formatear JSON (usatotem.com/herramientas-desarrollador/formatear-json/) obtienes una representación consistente y legible, evitando que diferencias de espaciado generen hashes distintos del mismo contenido lógico.

Y una advertencia final sobre colisiones: aunque es teóricamente posible que dos entradas distintas produzcan el mismo hash, con SHA-256 la probabilidad es tan ínfima que en la práctica se considera imposible. Esa es la base de toda la confianza depositada en este algoritmo.

Herramientas gratuitas mencionadas

Preguntas frecuentes

¿Qué diferencia hay entre SHA-256, SHA-1 y MD5?

SHA-256 genera un resumen de 256 bits representado en 64 caracteres hexadecimales. MD5 genera 128 bits (32 caracteres) y tiene vulnerabilidades conocidas que permiten colisiones; SHA-1 (160 bits) también está roto. Para cualquier uso de seguridad, SHA-256 es el mínimo recomendable hoy.

¿Se puede revertir un hash SHA-256?

No: los hashes son unidireccionales por diseño. No existe operación inversa; la única forma de «romper» un hash es probar candidatos hasta encontrar uno que coincida (fuerza bruta), impracticable con contraseñas largas por el coste computacional.

¿Por qué dos herramientas me dan hashes distintos del mismo texto?

Sí, es normal: cada herramienta puede añadir un salto de línea final o usar distinta codificación de caracteres. Asegúrate de comparar el hash del mismo contenido byte a byte; una diferencia de un solo byte —incluso invisible— cambia todo el hash.

¿Puedo seguir usando MD5 para verificar descargas?

Para verificar integridad en descargas casuales, MD5 aún detecta corrupciones accidentales, pero no debes usarlo donde la seguridad importe: existen colisiones reales. SHA-256 es igual de fácil de usar y sin esas debilidades.

En resumen

SHA-256 es una de esas herramientas invisibles que sostienen la seguridad digital: verifica descargas, protege contraseñas y garantiza la integridad de datos con una simple cadena de 64 caracteres. Entender qué es un hash, cómo generarlo y para qué sirve cada uso te convierte en un usuario y desarrollador más seguro.

La próxima vez que descargues un programa importante, busca su hash SHA-256 oficial y compáralo. Son treinta segundos que te protegen contra descargas corruptas o manipuladas. Y si trabajas con datos en formato JSON, formatéalo primero con la herramienta gratuita de formatear JSON para inspeccionarlo con claridad antes de calcular su hash.

Artículos relacionados

Privacidad por diseño. Tus archivos no salen de tu navegador.