Formater du JSON
Mettre en forme, valider et replier du JSON.
Développement
Encoder et décoder en Base32.
Base64 est plus compacte. Base32 a pourtant sa place, et la raison en est l'humain.
Base32 n'utilise que les lettres majuscules de A à Z et les chiffres de 2 à 7. Tout ce qui prête à confusion a été volontairement écarté : les chiffres 0, 1 et 8 ainsi que les lettres qui leur ressemblent.
Une chaîne en Base32 résiste donc aux erreurs de lecture classiques : zéro et O, un et I, huit et B.
Elle est en outre insensible à la casse, ce qui aide à la dictée ou à la saisie, et ne contient aucun caractère problématique dans une URL ou un nom de fichier.
Le prix à payer : elle est environ vingt pour cent plus longue que Base64 pour les mêmes données. Un échange équitable quand un humain intervient, un mauvais choix quand seules des machines sont concernées.
L'endroit où vous la rencontrez le plus souvent est la clé secrète de la double authentification : quand vous ne pouvez pas scanner le QR code et devez saisir la clé, elle est en Base32.
Le choix découle d'une question : qui va lire la chaîne.
| Caractéristique | Base32 | Base64 |
|---|---|---|
| Jeu de caractères | 32 | 64 |
| Augmentation de taille | environ 60 % | environ 33 % |
| Casse | indifférente | significative |
| Risque de confusion | faible | présent |
| Usage typique | lu par un humain | dans le logiciel |
Les deux sont normalisées dans le même document, et aucune n'est du chiffrement. C'est le point le plus important : une chaîne encodée paraît illisible mais n'importe qui la reconvertit en une seconde.
Qui stocke un mot de passe ou une clé encodés en Base32 ou en Base64 n'a rien protégé, il a seulement dissimulé.
Base32 se termine souvent par un ou plusieurs signes égal. C'est du remplissage pour ajuster la longueur. Certains systèmes l'omettent, un décodeur devrait donc accepter les deux formes.
Quelques endroits concrets.
La clé TOTP des applications d'authentification, comme évoqué. Quand une application propose une clé à saisir, elle est pratiquement toujours en Base32.
Les adresses du réseau Tor sont encodées ainsi, ce qui explique leur forme caractéristique.
Des extensions du système de noms de domaine emploient une variante, parce que les noms de domaine ne distinguent pas la casse.
Et parfois des codes d'activation ou de licence, exactement pour la raison qui a présidé à sa conception : pouvoir être dictés au téléphone.
Pour des applications françaises, un détail utile : Base32 ne contient ni accents, ni cédille, ni caractères difficiles à atteindre sur un clavier AZERTY. Un code imprimé sur un justificatif puis ressaisi lui convient parfaitement.
Tout se déroule dans votre navigateur.
Quand un humain doit lire, saisir ou dicter la chaîne.
Parce qu'on les confond avec O, I et B. Base32 les évite volontairement.
Non. N'importe qui la reconvertit en une seconde.
C'est du remplissage. Certains systèmes l'omettent.
Surtout dans les clés TOTP des applications d'authentification et les adresses Tor.
Non.