PureTools

Hashing SHA-256: Cómo Funciona y Cuándo Usarlo

PureTools Team· 8 min de lectura
Hashing SHA-256: Cómo Funciona y Cuándo Usarlo

SHA-256: El Hash Detrás de Todo

SHA-256 es el caballo de batalla de la criptografía moderna. Toma cualquier entrada — un solo carácter o un dump entero de base de datos — y produce un hash fijo de 256 bits (32 bytes). Bitcoin lo usa. Git lo usa. Los certificados TLS lo usan. Si trabajas con software, estás usando SHA-256 lo sepas o no.

Qué Hace Buena Una Función Hash

Una función hash criptográfica tiene cuatro propiedades:

  • Determinista: La misma entrada siempre produce la misma salida.
  • Tamaño fijo: La salida siempre es de 256 bits (64 caracteres hexadecimales), sin importar el tamaño de la entrada.
  • Irreversible: No puedes recuperar la entrada original a partir del hash.
  • Resistente a colisiones: Es computacionalmente inviable encontrar dos entradas diferentes con el mismo hash.

SHA-256 en Acción

# Terminal
echo -n "hello" | sha256sum
# 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

echo -n "hello!" | sha256sum
# ce06092fb948d9ffac7d1a376e404b26b7575bcc11ee05a4615fef4fec3a308b

Observa: cambiar un carácter cambia completamente el hash. Esto se llama efecto avalancha — un cambio diminuto en la entrada produce una salida dramáticamente diferente.

Usos Comunes

Caso de UsoCómo Ayuda SHA-256
Integridad de archivosDescarga un archivo, hazle hash, compara con el hash publicado. Si coinciden, el archivo no fue manipulado.
Commits de GitCada commit se identifica por un hash SHA de su contenido, padre, autor y timestamp.
Firmas digitalesHaces hash del documento primero, luego firmas el hash (mucho más rápido que firmar el documento entero).
Minería de BitcoinLos mineros computan SHA-256(SHA-256(block_header)) buscando un hash por debajo de un umbral objetivo.
HMACCombina SHA-256 con una clave secreta para crear un código de autenticación de mensaje.
Certificate pinningFija el hash SHA-256 de la clave pública del servidor para prevenir ataques MITM.

SHA-256 vs Otros Hashes

AlgoritmoTamaño de SalidaEstadoCaso de Uso
MD5128 bitsRoto (colisiones encontradas)Solo checksums, nunca para seguridad
SHA-1160 bitsDeprecado (colisiones demostradas)Solo sistemas legados
SHA-256256 bitsSeguroHashing criptográfico de uso general
SHA-512512 bitsSeguroCuando necesitas un hash más largo
SHA-3VariableSeguroAlternativa a la familia SHA-2

Implementación

// JavaScript (browser o Node.js)
async function sha256(message) {
  const encoder = new TextEncoder();
  const data = encoder.encode(message);
  const buffer = await crypto.subtle.digest('SHA-256', data);
  return Array.from(new Uint8Array(buffer))
    .map(b => b.toString(16).padStart(2, '0'))
    .join('');
}

await sha256('hello');
// "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"
# Python
import hashlib

hash = hashlib.sha256(b'hello').hexdigest()
print(hash)
# 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
// Go
package main

import (
    "crypto/sha256"
    "fmt"
)

func main() {
    h := sha256.Sum256([]byte("hello"))
    fmt.Printf("%x\n", h)
}

SHA-256 NO Es Para Contraseñas

Este es el error más común. SHA-256 es rápido — que es exactamente lo que no quieres para hashing de contraseñas. Un atacante puede computar miles de millones de hashes SHA-256 por segundo en una GPU.

Para contraseñas, usa:

  • bcrypt — factor de costo ajustable, ampliamente soportado
  • scrypt — memory-hard, resiste ataques con GPU
  • Argon2 — ganador de la Password Hashing Competition, estado del arte

SHA-256 es para integridad e identificación. Bcrypt/Argon2 son para contraseñas. No los mezcles.

Verificando Integridad de Archivos

# Generar hash de un archivo
sha256sum ubuntu-24.04-desktop-amd64.iso
# a1b2c3d4... ubuntu-24.04-desktop-amd64.iso

# Verificar contra un archivo de checksum
sha256sum -c SHA256SUMS
# ubuntu-24.04-desktop-amd64.iso: OK

Siempre verifica checksums al descargar ISOs, binarios o cualquier cosa crítica de seguridad. Toma 2 segundos y previene ataques de supply chain.

Hashea tus datos ahora: Generador SHA-256 — pega cualquier texto y obtén el hash SHA-256 instantáneamente. Todo corre en tu navegador.

Hashing SHA-256: Cómo Funciona y Cuándo Usarlo — PureTools — PureTools