Cómo se usa
- Pega la cadena Base64 en la entrada. En Origen ya está seleccionado Base64 y en Destino, Hexadecimal (Base16).
- Lee el resultado en hexadecimal: dos dígitos hexadecimales por cada byte.
- Si necesitas otro formato, elige otra codificación en Destino, como Base58 o Base32, o pulsa el botón Intercambiar entrada y salida para volver a convertir el hexadecimal en Base64.
- Copia el resultado.
Dos formas de escribir los mismos bytes
Tanto el hexadecimal como Base64 representan datos binarios como texto. El hexadecimal usa dos caracteres por byte, lo que facilita leer y comparar el valor de cada byte. Base64 agrupa 3 bytes en 4 caracteres y ocupa aproximadamente un tercio menos. La conversión entre ambos solo cambia la notación, nunca los datos:
| Valor | Bytes | Longitud en hexadecimal | Longitud en Base64 |
|---|---|---|---|
| Hash MD5 | 16 | 32 | 24 |
| Hash SHA-1 | 20 | 40 | 28 |
| Hash SHA-256, clave pública Ed25519 | 32 | 64 | 44 |
| Hash SHA-384 | 48 | 96 | 64 |
| Hash SHA-512, firma Ed25519 | 64 | 128 | 88 |
Además, el hexadecimal es lo que muestran los editores hexadecimales, los analizadores de paquetes y los depuradores, así que al convertir Base64 a hexadecimal puedes cotejar los datos con lo que ves en esas herramientas.
Cuándo necesitas pasar de Base64 a hexadecimal
- Comparar hashes. Herramientas como
sha256summuestran el resultado en hexadecimal, mientras que los atributos de Subresource Integrity, los hashes de Content Security Policy y los encabezados de suma de verificación comoContent-MD5usan Base64. Convierte uno de los dos valores para poder compararlos. - Huellas SSH.
ssh-keygen -lmuestra las huellasSHA256:en Base64 sin relleno, mientras que los registros DNS SSHFP guardan ese mismo resumen SHA-256 en hexadecimal. Pega la parte que va después deSHA256:para obtener la forma hexadecimal. - Claves, IV y firmas. Al depurar código criptográfico, ver los bytes en hexadecimal facilita comprobar la longitud, comparar valores y detectar un byte que falta o que sobra.
Qué entrada admite el conversor
Los espacios y saltos de línea de la entrada Base64 se ignoran, se aceptan los caracteres seguros para URL - y _, y el relleno = es opcional, así que puedes pegar tal cual valores copiados de JSON, de un JWT o de la salida de la terminal. La conversión trabaja con los bytes decodificados: el resultado es el hexadecimal de los datos, no de los propios caracteres Base64. Si quieres ver los códigos hexadecimales de un texto, usa Base16.
# Shell
printf '%s' "$B64" | base64 --decode | xxd -p
# Python
base64.b64decode(s).hex()
// Node.js
Buffer.from(s, 'base64').toString('hex')
Preguntas frecuentes
¿Se convierte el texto Base64 o los bytes que representa?
¿Por qué el resultado hexadecimal es más largo que la entrada Base64?
El hexadecimal necesita 2 caracteres por byte, mientras que Base64 necesita unos 1,33. Un resumen SHA-256 de 32 bytes ocupa 44 caracteres en Base64 y 64 caracteres en hexadecimal.
¿Cómo obtengo hexadecimal en mayúsculas o separado por dos puntos?
¿Puedo convertir valores Base64URL de un JWT o de una JSON Web Key?
Sí. Los caracteres seguros para URL y la falta de relleno se gestionan automáticamente, así que puedes pegar los parámetros de las claves y las firmas sin modificarlos.