0Pricing
Cryptology Academy · Lección

Aplicaciones de los hashes: sumas de comprobación, HMAC y Git

Descubra el uso de hashes en el almacenamiento de contraseñas, la integridad de datos y el control de versiones.

Aplicaciones de los hashes: sumas de comprobación, HMAC y Git es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.

Introducción

Las funciones hash cumplen tres funciones esenciales en los sistemas reales: verificar la integridad de los datos (sumas de comprobación), autenticar mensajes (HMAC) y realizar un seguimiento del historial del código (Git).

Sumas de comprobación de archivos

Al descargar software, los proveedores publican el hash SHA-256. Después de la descarga, calcule el hash y compárelo: sha256sum ubuntu-24.04.iso # Should match published value exactly

Integridad de los datos en el almacenamiento

Bases de datos como ZFS y Btrfs calculan sumas de comprobación SHA-256 para cada bloque de datos. Durante la lectura, se verifica la suma de comprobación. La corrupción silenciosa del disco se detecta automáticamente.

Almacenamiento direccionable por contenido

Git, IPFS y Docker utilizan almacenamiento direccionable por contenido: el nombre de cada objeto ES su hash. SHA-256(content) = identificador único. El contenido idéntico se almacena una sola vez y los duplicados se detectan al instante.

Uso de SHA-1 (y SHA-256) en Git

Cada commit, árbol y blob de Git tiene un hash SHA-1. El hash del commit incluye: contenido + metadatos + hashes de los padres. Cambiar cualquier bit cambia el hash, lo que permite detectar manipulaciones del historial.

Construcción de HMAC

HMAC-SHA256(key, msg) = SHA256((key' XOR opad) || SHA256((key' XOR ipad) || msg)) La construcción de doble hash con bloques de relleno XOR evita los ataques de extensión de longitud contra los MAC con clave.

HMAC en Python

import hmac, hashlib def create_mac(key: bytes, msg: bytes) -> str: return hmac.new(key, msg, hashlib.sha256).hexdigest() mac = create_mac(b'secret', b'Hello!')

Comparación en tiempo constante

Compare siempre los HMAC con hmac.compare_digest(), NO con ==. Los ataques de temporización: una comparación que termina al encontrar la primera diferencia revela la longitud coincidente. hmac.compare_digest compara todos los bytes en tiempo constante.

HMAC en la autenticación de API

Los webhooks de GitHub: cada carga útil se firma con HMAC-SHA256 mediante un secreto compartido. Reciba el webhook → calcule el HMAC → compárelo con la cabecera X-Hub-Signature-256.

Verificación de contraseñas mediante hashes

Flujo de inicio de sesión: el usuario envía la contraseña → el servidor calcula el hash → lo compara con el hash almacenado. El servidor nunca descifra la contraseña: vuelve a calcular su hash y lo compara. El hash almacenado nunca revela la contraseña.

Aplicaciones de los árboles de Merkle

Los árboles de Merkle construyen un árbol de hashes sobre los datos. Los bloques de Bitcoin contienen una raíz de Merkle de todas las transacciones. Certificate Transparency utiliza árboles de Merkle para crear registros de auditoría cuya manipulación puede detectarse.

Comprobación rápida

¿Por qué las comparaciones de HMAC deben utilizar hmac.compare_digest() en lugar de ==?

Resumen

¡Excelente! Ha aplicado hashes en situaciones reales. A continuación profundizaremos en AES, el estándar de cifrado simétrico más utilizado del mundo.

Preguntas frecuentes

¿La lección «Aplicaciones de los hashes: sumas de comprobación, HMAC y Git» es gratis?

Sí — el texto completo de «Aplicaciones de los hashes: sumas de comprobación, HMAC y Git» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Aplicaciones de los hashes: sumas de comprobación, HMAC y Git»?

Descubra el uso de hashes en el almacenamiento de contraseñas, la integridad de datos y el control de versiones. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cryptology Academy?

No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Aplicaciones de los hashes: sumas de comprobación, HMAC y Git»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?

Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Qué caracteriza a una buena función hash
  2. MD5: historia, usos y por qué está obsoleto
  3. Explicación de las familias SHA-1 y SHA-2
  4. Aplicaciones de los hashes: sumas de comprobación, HMAC y Git
← Volver a Cryptology Academy