Convertisseur Base32, Base58 et Ascii85
Encodez du texte ou des octets bruts en Base32, Base58, Ascii85 ou Z85, ou décodez l'un de ces formats, avec l'alphabet et les règles de complément propres à chaque encodage. Le tableau de calcul montre comment les premiers octets deviennent des caractères. Le Base64 est couvert par l'Encodeur et décodeur de texte. Le calcul se fait dans votre navigateur ; rien n'est envoyé.
Lettres A–Z et chiffres 2–7, cinq bits par caractère, complétés par = jusqu'à un multiple de huit caractères. La casse n'a pas d'importance au décodage.
Comment le résultat est obtenu
Les octets sont écrits en bits puis découpés en groupes de cinq. Chaque groupe est un nombre de 0 à 31 qui désigne un caractère.
| Bits | Valeur | Caractère |
|---|---|---|
| 01001 | 9 | J |
| 00001 | 1 | B |
| 10010 | 18 | S |
| 10110 | 22 | W |
| 11000 | 24 | Y |
| 11011 | 27 | 3 |
| 00011 | 3 | D |
| 01111 | 15 | P |
| 00101 | 5 | F |
| 10000 | 16 | Q |
| 10000 | 16 | Q |
| 00101 | 5 | F |
| 01110 | 14 | O |
| 11011 | 27 | 3 |
| 11011 | 27 | 3 |
| 10010 | 18 | S |
Affichage des 16 premières lignes.
Comment utiliser le convertisseur d'encodage Base
- 1. Choisissez un encodage. Base32, Base32 avec l'alphabet hexadécimal étendu, Base58 avec l'alphabet Bitcoin, Ascii85 tel qu'utilisé par Adobe, ou Z85. Une note sous le menu décrit celui que vous avez choisi.
- 2. Indiquez la nature des données. Texte est lu comme des octets UTF-8. Octets hexadécimaux permet d'encoder des données binaires quelconques, comme une clé, saisies sous forme de paires telles que
86 4f d2 6f. - 3. Encodez ou décodez. L'encodage produit un texte composé de l'alphabet de l'encodage. Le décodage le restitue en octets, affichés sous forme de texte ou d'hexadécimal. Les espaces et les sauts de ligne de l'entrée sont ignorés.
- 4. Vérifiez les options. Le Base32 peut s'écrire avec ou sans complément
=. L'Ascii85 peut être encadré par<~et~>et peut écrire quatre octets nuls sous la formez.
À quoi servent ces encodages
Aucun de ces formats n'est du chiffrement. Chacun transforme des octets, qui peuvent ne pas être imprimables, en un texte qui peut être collé dans un courriel, une URL, un code QR ou un fichier de configuration, et chacun se défait par quiconque connaît le nom de l'encodage. Ils diffèrent par l'alphabet utilisé et par la longueur du texte obtenu par rapport aux données.
| Encodage | Caractères | Longueur par rapport aux octets | Hello, World devient |
|---|---|---|---|
| Base32 (RFC 4648) | 32 | 8 ÷ 5, soit 1,6 fois | JBSWY3DPFQQFO33SNRSA==== |
| Base32 hexadécimal étendu | 32 | 8 ÷ 5, soit 1,6 fois | 91IMOR3F5GG5ERRIDHI0==== |
| Base58 (Bitcoin) | 58 | environ 1,37 fois | 2NEpo7TZsLBYdvo5V |
| Ascii85 (Adobe) | 85 | 5 ÷ 4, soit 1,25 fois | <~87cURD_*#4DfTZ)~> |
| Z85 (ZeroMQ) | 85 | 5 ÷ 4, soit 1,25 fois | nm=QNz.92jz/PV8 |
Base32
Le Base32 découpe les octets en groupes de 5 bits et écrit chacun comme l'un des 32 caractères, A–Z et 2–7. Il n'utilise que les chiffres 2 à 7, en laissant de côté 0, 1 et 8 qui ressemblent à O, I et B, et il ignore la casse des lettres, de sorte qu'on peut le lire à voix haute ou le taper. Le signe de complément = arrondit la longueur à un multiple de huit. La RFC 4648 donne des vecteurs de test tels que foobar → MZXW6YTBOI======. Les secrets des applications d'authentification et les adresses d'oignons Tor sont en Base32.
Base58
Le Base58 traite l'entrée entière comme un seul grand nombre et l'écrit en base 58, en omettant 0, O, I et l, ainsi que les symboles + et /, de sorte que le résultat peut être copié par double-clic et est difficile à lire de travers. Chaque octet nul en tête s'écrit par le premier caractère, 1. L'alphabet Bitcoin n'est que l'un des alphabets Base58 ; ceux utilisés par Ripple et Flickr ordonnent les caractères différemment, vérifiez donc celui qu'utilisent vos données. Les adresses Bitcoin ajoutent une somme de contrôle et un octet de version, procédé appelé Base58Check, que cet outil ne calcule pas.
Ascii85 et Z85
Les deux lisent quatre octets comme un nombre de 32 bits et l'écrivent en cinq chiffres en base 85, ce qui explique qu'ils ne soient allongés que de 25 % par rapport aux données. L'Ascii85 d'Adobe, utilisé dans PostScript et PDF, emploie les caractères de ! à u, abrège quatre octets nuls en z et enveloppe en général les données par <~ et ~>. Un dernier groupe d'un à trois octets donne un caractère de plus que d'octets. Le Z85, défini dans la RFC 32 de ZeroMQ, emploie un autre alphabet de 85 caractères, choisi pour éviter les guillemets et les barres obliques inverses dans le code source ; il n'a ni raccourci z ni groupe final court, de sorte que son entrée doit être un multiple de quatre octets. Son exemple de spécification, les huit octets 86 4f d2 6f b5 59 f7 5b, s'encode en HelloWorld. D'autres alphabets en base 85 existent, comme celui de la RFC 1924 qu'utilise Git ; adaptez donc l'alphabet à sa source.
Questions fréquentes
- Le Base32 ou le Base58 sont-ils du chiffrement ?
- Non. Ce sont des encodages : n'importe qui peut les inverser, car l'alphabet et les règles sont publics. Ils rendent les données imprimables et plus faciles à copier, mais pas secrètes.
- Pourquoi le Base58 omet-il certains caractères ?
- Pour éviter les caractères qui se ressemblent et les symboles. Il omet 0 (zéro), O (o majuscule), I (i majuscule) et l (L minuscule), qui peuvent être confondus dans beaucoup de polices, ainsi que + et /, qui interrompent la sélection par double-clic. Il reste 58 caractères.
- Comment décoder une chaîne en Base32 ?
- Choisissez Base32, passez en mode Décoder et collez la chaîne. La casse n'a pas d'importance, et les signes = de fin sont facultatifs. Si vous obtenez une erreur qui nomme des caractères, la chaîne est probablement en Base32 hexadécimal étendu, en Base64 ou dans un autre encodage.
- Quelle est la différence entre l'Ascii85 et le Z85 ?
- Les deux utilisent cinq caractères pour quatre octets, mais leurs alphabets diffèrent. L'Ascii85 utilise les caractères de ! à u, possède un raccourci z pour les zéros et peut être encadré par <~ et ~>. Le Z85 utilise un alphabet sûr pour le code source et n'a aucun raccourci.
- Pourquoi le Z85 exige-t-il un multiple de quatre octets ?
- La spécification Z85 ne prévoit aucun complément. Ses données doivent être un nombre entier de groupes de 4 octets, et son texte un multiple de cinq caractères. Ajoutez vous-même les octets, ou utilisez l'Ascii85, qui gère un groupe final court.
- Comment encoder une chaîne en Base64 ?
- Cette page ne fait pas de Base64. L'Encodeur et décodeur de texte convertit du texte en Base64, en URL et en entités HTML, et inversement ; la page XOR Cipher peut afficher des octets hexadécimaux en Base64.