Hexadecimal en la salida criptográfica
Aprenda por qué los hashes criptográficos, las claves y los textos cifrados suelen mostrarse en notación hexadecimal.
Hexadecimal en la salida criptográfica es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 3 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.
Hexadecimal como base 16
El hexadecimal (hex) es un sistema de numeración en base 16 que utiliza los dígitos del 0 al 9 y las letras de la A a la F (o de la a a la f). Cada dígito hexadecimal representa exactamente 4 bits (un nibble), ya que 16 = 2^4.
El hexadecimal es el lenguaje universal de los datos binarios en informática. Las direcciones de memoria, los valores de bytes, los códigos de color y las salidas criptográficas suelen expresarse en hexadecimal.
4 bits por dígito hexadecimal
Como cada dígito hexadecimal representa exactamente 4 bits, cada byte (8 bits) se corresponde exactamente con 2 dígitos hexadecimales. Esto hace que la conversión entre binario y hexadecimal sea trivial: divida el binario en grupos de 4 bits y convierta cada grupo.
Por ejemplo, el byte 11001010 se divide en 1100 (C) y 1010 (A), lo que da el valor hexadecimal CA. No se necesita aritmética, solo una conversión mediante una tabla de consulta.
Conversión de binario a hexadecimal
Para convertir binario a hexadecimal, agrupe los bits de cuatro en cuatro de derecha a izquierda y convierta cada grupo: 0000=0, 0001=1, ..., 1001=9, 1010=A, 1011=B, 1100=C, 1101=D, 1110=E, 1111=F.
Ejemplo: 11111111 se convierte en 1111|1111 = FF = 255 en decimal. 00000000 se convierte en 00 = 0 en decimal. 01001000 = 0100|1000 = 48 = el código ASCII de 'H'.
Por qué el hexadecimal es compacto para los datos binarios
Una clave completa de 32 bytes (256 bits) requeriría 256 unos y ceros en binario. En hexadecimal, solo ocupa 64 caracteres. En decimal, sería un número de hasta 78 dígitos.
El hexadecimal ofrece el equilibrio adecuado: es lo bastante compacto para que los seres humanos puedan leerlo y escribirlo, y representa directamente la estructura binaria subyacente sin ninguna sobrecarga de conversión.
Salida de SHA-256 en hexadecimal
SHA-256 produce un hash de 256 bits (32 bytes). Al mostrarlo en hexadecimal, siempre consta exactamente de 64 caracteres hexadecimales. Por ejemplo, el hash SHA-256 de "hello" es 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824.
Cálculo: 64 caracteres hexadecimales × 4 bits = 256 bits. La longitud fija es una propiedad fundamental de las funciones hash, independientemente del tamaño de la entrada.
Representación de claves en hexadecimal
Normalmente, las claves criptográficas se almacenan y muestran como cadenas hexadecimales. Una clave AES-128 tiene 16 bytes = 32 caracteres hexadecimales. Una clave AES-256 tiene 32 bytes = 64 caracteres hexadecimales.
Al configurar TLS o cifrar archivos, a menudo debe proporcionar las claves como cadenas hexadecimales. Herramientas como OpenSSL, la biblioteca cryptography de Python y la mayoría de los frameworks criptográficos esperan y generan claves codificadas en hexadecimal.
Notación de IV y nonce
Los vectores de inicialización (IV) y los nonces también se representan en hexadecimal. Un IV estándar de AES-CBC tiene 16 bytes = 32 caracteres hexadecimales. AES-GCM normalmente utiliza un nonce de 12 bytes = 24 caracteres hexadecimales.
La notación hexadecimal facilita la inspección visual y la comparación de IV, la verificación de que dos mensajes utilizaron nonces diferentes y la depuración manual de protocolos criptográficos durante el desarrollo.
Formato de salida hexadecimal de OpenSSL
OpenSSL muestra los hashes y las claves en un formato específico: hexadecimal en minúsculas con dos puntos entre cada par de dígitos que representa un byte. Por ejemplo, un hash MD5 aparece como "b9:4d:27:b9:93:4d:3e:08:a5:2e:52:d7:da:7d:ab:fa:c4:84:ef:e8".
El formato separado por dos puntos hace que cada byte se distinga visualmente y sea más fácil de comparar. Algunas herramientas pueden mostrar el hexadecimal sin dos puntos o con letras mayúsculas, pero los bytes subyacentes son idénticos.
Hexadecimal frente a Base64 para datos de certificados
Los certificados X.509 se almacenan en formato DER (binario) o PEM (DER codificado en Base64). El hexadecimal también funcionaría, pero Base64 es un 33 % más compacto que el hexadecimal (cada carácter de Base64 codifica 6 bits, frente a los 4 bits del hexadecimal).
Para objetos grandes, como certificados y archivos cifrados, se prefiere Base64. Para valores cortos, como hashes, claves, IV y MAC, se prefiere el hexadecimal porque muestra directamente los límites de los bytes.
Lectura de volcados hexadecimales
Un volcado hexadecimal muestra un archivo o una región de memoria como bytes hexadecimales y caracteres ASCII lado a lado. La columna izquierda muestra el hexadecimal y la derecha muestra el ASCII imprimible (con puntos para los bytes no imprimibles).
Leer volcados hexadecimales es una habilidad esencial para depurar problemas criptográficos. Verificar que un IV comienza en el desplazamiento correcto, que una clave tiene la longitud adecuada o que el prefijo de un texto cifrado coincide con lo esperado requiere leer volcados hexadecimales.
Codificación hexadecimal en encabezados de seguridad
Los encabezados de seguridad HTTP y los tokens criptográficos utilizan con frecuencia la codificación hexadecimal. Los tokens CSRF, los identificadores de sesión y las claves de API suelen representarse como cadenas hexadecimales de 32 a 64 caracteres.
Un token CSRF aleatorio de 128 bits (16 bytes) codificado en hexadecimal tiene 32 caracteres. Es fácil verificar que sea correcto: cuente los caracteres, compruebe que solo aparezcan 0-9 y a-f y asegúrese de que no haya caracteres de relleno, ya que indicarían Base64 en lugar de hexadecimal.
Cuestionario sobre conversión hexadecimal
Compruebe su comprensión de la representación hexadecimal.
Conclusiones clave: el hexadecimal en criptografía
El hexadecimal codifica 4 bits por carácter, por lo que 1 byte = 2 dígitos hexadecimales. SHA-256 produce 64 caracteres hexadecimales (256 bits), las claves AES-128 tienen 32 caracteres hexadecimales y las claves AES-256 tienen 64 caracteres hexadecimales.
El hexadecimal es la representación estándar de hashes criptográficos, claves, IV y nonces porque refleja directamente la estructura de los bytes. OpenSSL y la mayoría de las herramientas criptográficas generan y aceptan valores codificados en hexadecimal.
Preguntas frecuentes
¿La lección «Hexadecimal en la salida criptográfica» es gratis?
Sí — el texto completo de «Hexadecimal en la salida criptográfica» 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 «Hexadecimal en la salida criptográfica»?
Aprenda por qué los hashes criptográficos, las claves y los textos cifrados suelen mostrarse en notación hexadecimal. 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 3 de 4.
¿Cuánto tiempo toma la lección «Hexadecimal en la salida criptográfica»?
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
- Codificación Base64: cómo funciona
- ASCII, Unicode y representación del texto
- Hexadecimal en la salida criptográfica
- Codificación frente a cifrado y hashing