Outil pour décoder/encoder avec la Base-32 selon Crockford. La Crockford's Base32 est une variante de la base 32 créee par Douglas Crockford améliorant son usage par l'homme.
Base-32 Crockford - dCode
Catégorie(s) : Codage de Caractères
dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !
La base-32 imaginée par Douglas Crockford est une variante de la base 32 (norme RFC 3548) voulant optimiser l'écriture et la lecture par l'homme et y ajoutant une somme de controle (checksum).
La Crockford base-32 utilise 32 caractères 0123456789ABCDEFGHJKMNPQRSTVWXYZ soit les 36 caractères alphanumériques excluant I,L,O pour ne pas les confondre des chiffres et la lettre U ce qui permet d'éviter des jeux de mots (U=You).
Crockford propose optionnellement une somme de controle modulo 37 avec 5 autres caractères : *~$=U
comme Le message clair est traité comme une chaine binaire et découpée en blocs de 5 bits (complétée si besoin de 0).
Exemple : base est encodé en ASCII (8-bits) 01100010 01100001 01110011 01100101, la découpe donne les blocs 01100,01001,10000,10111,00110,11001,01000 (avec trois 0 ajoutés à la fin)
Chaque bloc de 5 bits est encodé via l'alphabet de Crockford par son caractère correspondant :
00000 | 0 | 00001 | 1 | 00010 | 2 | 00011 | 3 |
---|---|---|---|---|---|---|---|
00100 | 4 | 00101 | 5 | 00110 | 6 | 00111 | 7 |
01000 | 8 | 01001 | 9 | 01010 | A | 01011 | B |
01100 | C | 01101 | D | 01110 | E | 01111 | F |
10000 | G | 10001 | H | 10010 | J | 10011 | K |
10100 | M | 10101 | N | 10110 | P | 10111 | Q |
11000 | R | 11001 | S | 11010 | T | 11011 | V |
11100 | W | 11101 | X | 11110 | Y | 11111 | Z |
Exemple : Le message codé est C9GQ6S8
Le message binaire original est encodé comme un (très grand) entier dont est calculé sa valeur modulo 37 (37 est le plus petit nombre premier suivant 32).
Exemple : base encodé en binaire 01100010011000010111001101100101 (base 2) correspond à 1650553701 (en décimal) et 1650553701 mod 37 = 18 qui se code 18=J donc le caractère de controle est J
Exemple : Le message codé avec le caractère de controle est C9GQ6S8J
Le déchiffrement par base-32 de Crockford débute par une conversion des caractères en format binaire via la table de correspondance
0 | 00000 | 1 | 00001 | 2 | 00010 | 3 | 00011 |
---|---|---|---|---|---|---|---|
4 | 00100 | 5 | 00101 | 6 | 00110 | 7 | 00111 |
8 | 01000 | 9 | 01001 | A | 01010 | B | 01011 |
C | 01100 | D | 01101 | E | 01110 | F | 01111 |
G | 10000 | H | 10001 | J | 10010 | K | 10011 |
M | 10100 | N | 10101 | P | 10110 | Q | 10111 |
R | 11000 | S | 11001 | T | 11010 | V | 11011 |
W | 11100 | X | 11101 | Y | 11110 | Z | 11111 |
Exemple : Le message 6CS0 correspond donc à 00110,01100,11001,00000
La chaine binaire obtenue est ensuite interprétée (selon l'encodage ou le format utilisé)
Exemple : 00110011,00110010,0000 correspond au code ASCII de la chaine 32
Le message est composé des caractères alphanumériques majuscules à l'exception de I, L, O. Il est également possible d'y trouver les caractères *~$=U en fin de codage et parfois le tiret - est utilisé pour favoriser la lecture.
Originellement la Base 32 est créee pour exprimer des grands nombres, comme des clés publiques de chiffrement.
Plus d'infos ici
dCode se réserve la propriété du code source pour "Base-32 Crockford". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Base-32 Crockford", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "Base-32 Crockford" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou les données, en téléchargement, script, ou les accès API à "Base-32 Crockford" ne sont pas publics, idem pour un usage hors ligne, PC, mobile, tablette, appli iPhone ou Android !
Rappel : dCode est gratuit.
Le copier-coller de la page "Base-32 Crockford" ou de ses résultats est autorisée (même pour un usage commercial) tant que vous créditez dCode !
L'exportation des résultats sous forme de fichier .csv ou .txt est gratuite en cliquant sur l'icone export
Citer comme source bibliographique :
Base-32 Crockford sur dCode.fr [site web en ligne], consulté le 21/11/2024,