Comment convertir du Base64 en hex
- Collez le Base64 dans Entrée · Base64. Les sauts de ligne, les espaces, un remplissage
=manquant et les caractères URL-safe sont tous acceptés. - Les octets apparaissent dans Sortie · Hex. La ligne d’état affiche Ressemble à avec le type de fichier détecté, si les octets correspondent à un format connu.
- Sous la sortie, choisissez la Casse, le Séparateur et les Octets par ligne.
- Utilisez Copier la sortie ou Télécharger pour récupérer le hex. Enregistrer les octets écrit les octets décodés eux-mêmes dans un fichier.
Pour l’autre sens, utilisez le sélecteur Hex → Base64 ou la page Hex en Base64.
Options de sortie
Le Base64 SGkh/w== contient quatre octets. Le réglage Séparateur détermine comment ils sont écrits :
| Séparateur | Sortie | Usage |
|---|---|---|
| Aucun | 486921ff | comparaison avec la sortie de sha256sum, bases de données, URL |
| Espace | 48 69 21 ff | lecture octet par octet, éditeurs hexadécimaux |
: | 48:69:21:ff | empreintes de certificats et de clés |
0x | 0x48 0x69 0x21 0xff | constantes C, C# ou Java |
\x | \x48\x69\x21\xff | littéraux de chaîne en Python, en C et dans le shell |
Casse passe à 48 69 21 FF. Octets par ligne réglé sur 16 donne la disposition classique d’un dump, 16 octets par ligne, ce qui permet de trouver facilement l’offset 0x40 ou de compter la longueur d’un en-tête.
Lire les premiers octets
La plupart des formats de fichiers commencent par une signature fixe, et en hex ces signatures se reconnaissent facilement. Quelques préfixes Base64 et ce qu’ils donnent une fois décodés :
| Le Base64 commence par | Hex | Format |
|---|---|---|
iVBORw0KGgo | 89 50 4e 47 0d 0a 1a 0a | PNG |
/9j/ | ff d8 ff | JPEG |
JVBERi0 | 25 50 44 46 2d (%PDF-) | |
UEsDBA | 50 4b 03 04 (PK) | ZIP, ainsi que DOCX, XLSX, JAR, APK |
H4sI | 1f 8b 08 | gzip |
Quand les premiers octets ne correspondent à aucun de ces formats, il peut quand même s’agir de texte dans un jeu de caractères inattendu, ou de données chiffrées, qui paraissent uniformément aléatoires en hex. La liste des préfixes Base64 courants en contient beaucoup d’autres. Si les données s’avèrent être un fichier que vous voulez ouvrir, Base64 en fichier l’affiche et l’enregistre.
Comparer des empreintes et des sommes de contrôle
Le hex est le format qu’affichent les outils de somme de contrôle : convertir du Base64 en hex permet donc de comparer une valeur issue d’un en-tête ou d’un fichier de configuration avec votre propre md5sum ou sha256sum :
| Où vous la voyez | Base64 | Hex |
|---|---|---|
En-tête Content-MD5 pour hello | XUFAKrxLKna5cZ2REBfFkg== | 5d41402abc4b2a76b9719d911017c592 |
SHA-256 de hello | LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ= | 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 |
Il en va de même pour les attributs integrity="sha384-…", les empreintes SSH au format SHA256: (Base64 sans remplissage) et les clés binaires dans du JSON. Si deux valeurs diffèrent en hex, leurs octets diffèrent ; si elles concordent, toute différence dans le Base64 n’était qu’une question de mise en forme, comme le remplissage ou l’alphabet URL-safe.
Base64 en hex dans le code
import base64
base64.b64decode("SGkh/w==").hex() # '486921ff'
base64.b64decode("SGkh/w==").hex(" ") # '48 69 21 ff'
Buffer.from("SGkh/w==", "base64").toString("hex"); // '486921ff'
En Python, b64decode supprime en silence les caractères hors de l’alphabet, sauf si vous passez validate=True : une chaîne URL-safe peut donc se décoder en mauvais octets sans erreur. Le décodeur "base64" de Node accepte les deux alphabets. Voir les pages Python et Node.js pour les détails.
FAQ
Comment décoder du Base64 en hex sous Linux ?
echo 'SGkh/w==' | base64 -d | xxd -p affiche 486921ff. xxd -p passe à la ligne tous les 30 octets ; ajoutez -c 32 pour 32 octets par ligne, ou utilisez od -An -tx1 si xxd n’est pas installé.
Pourquoi mon hex contient-il ef bf bd ?
Ces trois octets sont la forme UTF-8 de �, le caractère de remplacement. Un outil a d’abord décodé le Base64 en texte et remplacé chaque octet qui n’était pas de l’UTF-8 valide. Décodez directement en hex, comme le fait cette page, et les octets d’origine sont préservés.
Quelle est la longueur du hex par rapport au Base64 ?
Environ 1,5 fois plus long. Quatre caractères Base64 contiennent trois octets, qui prennent six chiffres hex. Une valeur SHA-256 de 44 caractères devient 64 chiffres hex.
Les data URI et le Base64URL sont-ils acceptés ?
Oui. - et _ sont lus comme + et /, un remplissage manquant ne pose pas de problème, et un préfixe data:...;base64, est ignoré.