# Qué es realmente SHA-256

> Cuadernos Lacre · Concepto · 19 de mayo de 2026
> https://solo2.net/cuadernos/articulos/que-es-realmente-sha-256.html

Una huella matemática que cabe en sesenta y cuatro caracteres y que cambia entera si una sola coma del texto original se mueve. Por qué le llamamos sello de lacre digital.

---

## La idea sencilla detrás del nombre técnico

Imagina que existe una máquina con una sola ranura y una sola pantalla. Por la ranura introduces un texto: una palabra, una frase, una novela entera. En la pantalla aparece, instantes después, una secuencia exactamente de sesenta y cuatro caracteres. Esa secuencia, al lector profesional la llamamos *hash* o *resumen criptográfico*; al lector general, podemos llamarla por ahora una huella matemática del texto, como la huella dactilar lo es de una persona.

Si introduces el mismo texto dos veces, la máquina muestra la misma huella las dos veces. Si introduces un texto ligeramente distinto —una sola coma desplazada, una mayúscula que pasa a minúscula— la máquina muestra una huella completamente distinta de la primera. No parecida: distinta. Esas dos propiedades juntas —el determinismo y la sensibilidad— son la idea sencilla. Todo lo demás del SHA-256 es la maquinaria que las hace cumplir bien.

Conviene decir desde el principio lo que la máquina no hace. No cifra el texto. No lo oculta. No lo guarda. La máquina mira el texto, calcula la huella, y se olvida del texto. La huella no permite reconstruir el texto que la produjo; solo permite, dado un texto candidato, comprobar si coincide o no con el original. Por eso decimos que es un resumen *de una sola dirección*: se va, no se vuelve.

## Un hash no es lo mismo que cifrar

La confusión es frecuente y conviene despejarla: cifrar y hashear son operaciones distintas. Cifrar consiste en transformar un texto de forma que solo el poseedor de la clave pueda devolverlo a su forma original. Hashear consiste en producir una huella del texto de la que el texto original no se puede recuperar nunca, ni con clave ni sin ella. La primera es reversible por diseño; la segunda, irreversible por diseño.

La consecuencia práctica importa. Cuando una aplicación dice «guardamos tu contraseña cifrada», hay alguien que tiene la clave para descifrarla — la aplicación misma, en cualquier caso. Cuando una aplicación dice «guardamos tu contraseña hasheada», la aplicación misma no puede leer la contraseña original aunque quisiera; solo puede comprobar si la que tú escribes vuelve a producir la misma huella. El segundo modelo, hecho bien, es muy preferible al primero para almacenar contraseñas. Más adelante veremos por qué «hecho bien» exige algo más que SHA-256 a secas.

## Las cuatro propiedades que hacen útil un hash criptográfico

Una función hash que merece el adjetivo *criptográfico* cumple cuatro propiedades:

1. Determinismo. La misma entrada produce siempre la misma huella.
2. Efecto avalancha. Un cambio pequeño en la entrada produce una huella completamente distinta, sin parecido visible con la anterior.
3. Resistencia a la inversión. Dada una huella, no es viable computacionalmente encontrar el texto que la produjo.
4. Resistencia a colisiones. No es viable computacionalmente encontrar dos textos distintos que produzcan la misma huella.

«No es viable computacionalmente» no significa «es matemáticamente imposible». Significa que el coste en tiempo, energía y dinero de conseguirlo excede en órdenes de magnitud la suma de toda la capacidad de cómputo razonablemente disponible. Para SHA-256, esa cota se mide en miles de billones de años incluso para los planteamientos más optimistas con hardware especializado. Lo cual, a efectos prácticos del lector, es lo mismo que «no se puede».

## SHA-256, en concreto

El nombre lo dice todo. SHA son las siglas de *Secure Hash Algorithm*: algoritmo de hash seguro. El número 256 indica el tamaño de la huella en bits: doscientos cincuenta y seis bits, es decir treinta y dos bytes, que mostrados en hexadecimal son los sesenta y cuatro caracteres que el lector reconoce ya. El estándar lo publicó el NIST estadounidense, el organismo que normaliza este tipo de funciones, en 2001 como parte de la familia SHA-2; la versión vigente del estándar, FIPS 180-4, es de 2015.

Las dimensiones merecen un instante. Doscientos cincuenta y seis bits permiten dos elevado a doscientos cincuenta y seis valores distintos: un número con setenta y ocho dígitos decimales, varios órdenes de magnitud mayor que el número estimado de átomos en el universo observable. Cada texto del mundo —cada libro, cada correo electrónico, cada mensaje— cae sobre uno de esos valores. La probabilidad de que dos textos distintos coincidan por azar es, a efectos prácticos, indistinguible de cero.

## Cómo se ve en código

## Por qué le llamamos sello de lacre

En la correspondencia europea de los siglos quince al diecinueve, el lacre cerraba la carta. Una gota de cera derretida, un sello presionado encima, y la carta quedaba marcada de forma irrepetible. No protegía el contenido del fisgón decidido —el papel se podía leer al trasluz, el lacre se podía romper— pero sí lo evidenciaba. Cualquier alteración del cierre era visible al destinatario antes incluso de abrir el papel. El lacre no impedía el daño; lo declaraba.

El SHA-256 del cuerpo de cada Cuaderno cumple la misma función en su versión digital. Si una sola palabra del artículo cambiara entre el momento en que se publicó y el momento en que tú lo lees, el sello hexadecimal al pie del texto ya no coincidiría con el SHA-256 del texto que tienes delante. Cualquier lector con cinco líneas de código podría comprobarlo. La publicación no puede reescribir su historia sin que el sello la delate. No protege contra el daño; lo hace verificable.

## Lo que un hash no es

Cuatro usos se le piden a veces a SHA-256 que no le corresponden:

1. Cifrar. Un hash resume; no oculta. Si quieres que el texto no se pueda leer, necesitas cifrarlo, no hashearlo.
2. Autenticar al autor. Un hash no dice quién escribió el texto, solo qué texto se hasheó. Para asociar autoría hace falta una firma criptográfica encima del hash, no el hash a secas.
3. Almacenar contraseñas. Aquí hay una trampa que conviene entender. SHA-256 está diseñado para ser muy rápido —lo cual es bueno para muchas cosas, pero malo para esta. Un atacante con hardware especializado puede probar miles de millones de contraseñas por segundo contra un hash SHA-256 hasta dar con la tuya. Para guardar contraseñas hay que usar funciones de derivación de clave deliberadamente lentas como Argon2, scrypt o bcrypt, combinadas con una *sal* (un dato aleatorio único por usuario, que evita que dos personas con la misma contraseña tengan el mismo hash).
4. Leer el hash como identificador del autor. No lo es. Un hash identifica el contenido. Si dos personas hashean la palabra *hola* con SHA-256, las dos obtienen el mismo resumen — y eso es la propiedad central, no un defecto: si fueran resúmenes distintos, no podríamos comprobar coincidencia entre lo publicado y lo recibido.

## Dónde aparece SHA-256 en tu día a día

Aunque no lo veas, SHA-256 sostiene buena parte de lo que usas a diario en internet. La cadena de bloques de Bitcoin se construye encadenando SHA-256 de cada bloque al siguiente; alterar un bloque pasado obliga a recalcular toda la cadena posterior. Git, el sistema con el que se versiona el código de medio mundo, identifica cada confirmación por el SHA-256 (en versiones recientes) o por su predecesor SHA-1 (en versiones más antiguas) de su contenido completo. Los certificados HTTPS que verifican la identidad de un sitio web cuando entras llevan una huella SHA-256 asociada. Las descargas de software se acompañan a menudo de un SHA-256 publicado por el desarrollador para que verifiques que el archivo no se alteró por el camino. Y, como hemos dicho, al pie de cada Cuaderno Lacre.

## Para el lector profesional

Cuatro recordatorios operativos para quien decide o audita sistemas:

1. Hash no es cifrado. Si un proveedor confunde los dos términos en su documentación técnica, conviene preguntar qué quiere decir exactamente.
2. Para almacenar contraseñas nunca se debe usar SHA-256 a secas. SHA-256 es demasiado rápido para esta tarea (ver punto 3 de *Lo que un hash no es*). El estándar actual es Argon2id: lento por diseño, configurable según la capacidad del servidor, combinado con una *sal* aleatoria distinta por usuario.
3. Para integridad de documentos —contratos, expedientes, archivos— SHA-256 sigue siendo el estándar de referencia. Es el que usan los selladores temporales cualificados en la UE.
4. Para conservación a largo plazo (decenios) conviene calcular y archivar también un SHA-3 o un SHA-512 junto al SHA-256; la prudencia criptográfica recomienda no apoyarse en una sola función durante archivos centenarios.

Imagina que has montado el circuito de dominó más elaborado del mundo: miles de fichas, decenas de bifurcaciones, puentes mecánicos y rampas que cruzan toda la habitación, cuidadosamente colocadas pieza a pieza.

Si das un toque a la primera ficha, la cadena cae en una secuencia precisa y repetible. Mismo montaje, mismo toque inicial → idéntico patrón final de fichas caídas, una y otra vez.

Aquí está lo interesante: mueve una sola ficha medio centímetro a un lado antes de empezar y vuelve a tocar. Una rampa que debía activarse se queda inerte, un puente no cae, una bifurcación distinta se dispara. El patrón final de fichas en el suelo es completamente irreconocible comparado con el primero.

SHA-256 es matemáticamente este circuito. El texto que escribes es la posición inicial de las fichas. El algoritmo es el toque que libera la cascada. Y el resultado final —lo que llamamos *hash*— es la foto fija del suelo cuando se ha detenido todo. Cambia una sola coma del texto original y la foto será radicalmente distinta. Así de simple, y así de drástico.

---

*Si vuelves al pie de este artículo, verás un sello hexadecimal de sesenta y cuatro caracteres. Es el SHA-256 del texto que acabas de leer, en este idioma. Si tradujéramos el artículo, el sello sería otro; si cambiara una palabra de la versión española, el sello español cambiaría. El sello no protege el contenido —para eso están otras herramientas— sino que lo identifica unívocamente. Y eso, por modesto que suene, basta para que ningún paso de la cadena editorial pueda alterar lo dicho sin que se note. Lo demás —cifrar, firmar, identificar— se construye encima de esta idea sencilla.*

## Fuentes y lectura adicional

- NIST — *FIPS PUB 180-4: Secure Hash Standard (SHS)*, agosto de 2015. Especificación oficial de la familia SHA-2, incluyendo SHA-256.
- RFC 6234 — *US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)*, IETF, mayo de 2011. Versión normativa para implementadores.
- Ferguson, N.; Schneier, B.; Kohno, T. — *Cryptography Engineering: Design Principles and Practical Applications* (Wiley, 2010). Capítulos 5 y 6 cubren funciones hash y sus usos legítimos e ilegítimos.
- Nakamoto, S. — Bitcoin: A Peer-to-Peer Electronic Cash System (2008). Ejemplo práctico del uso de SHA-256 para encadenar bloques en una estructura inmutable por construcción.
- Reglamento (UE) 910/2014 (eIDAS) — marco de los selladores temporales cualificados. SHA-256 es la función de referencia para las firmas y sellos electrónicos cualificados emitidos en la UE.
- Implementación de referencia en Zig: std.crypto.hash.sha2.Sha256 en el repositorio oficial del lenguaje (*github.com/ziglang/zig* → lib/std/crypto/sha2.zig). Es la versión optimizada y auditada que de hecho usa Solo2. Útil para contrastar con la implementación didáctica del apéndice.

---

*Cuadernos Lacre · Una publicación de Menzuri Gestión S.L. · escrita por R.Eugenio · editada por el equipo de Solo2.*
*https://solo2.net/cuadernos/*
