Rechercher un outil
Codage Base45

Outil pour coder avec la Base45, codage utilisant 45 caractères ASCII, qui s'est fait connaitre depuis son utilisation dans le passe/certificat sanitaire européen.

Résultats

Codage Base45 -

Catégorie(s) : Codage de Caractères

Partager
Partager
dCode et plus

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 ? Ecrire à dCode !


Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !


Grâce à vos remarques, réponses et commentaires pertinents, dCode peut développer le meilleur outil 'Codage Base45', alors écrivez-nous c'est gratuit ! Merci !

Codage Base45

Déchiffrement de la Base45










Voir aussi : Code Base64Base32Code QR

Chiffrement avec Base45


Chargement en cours...
(si ce message ne disparait pas, actualiser la page)

Réponses aux Questions (FAQ)

Qu'est ce que la Base-45 ? (Définition)

Base-45 est une norme de codage proposée pour encoder des données avec 45 caractères. Il a été proposé par Faltstrom, et al. comme un codage compact mieux adapté que Base32 ou Base64 pour les QR-codes.

Comment encoder avec Base-45 ? (Principe de codage)

Le codage Base45 consiste a écrite les données en base 45 et utiliser la liste de symboles suivante 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./: qui correpond aux 45 characters utilisables dans un QR-code en mode alphanumérique soit la table de correspondance

IndexCaractère
Base45
0 0
11
22
33
44
55
66
77
88
99
10A
11B
12C
13D
14E
15F
16G
17H
18I
19J
20K
21L
22M
23N
24O
25P
26Q
27R
28S
29T
30U
31V
32W
33X
34Y
35Z
36
37$
38%
39*
40+
41-
42.
43/
44:

Le codage commence par découper les données à encoder de gauche à droite par groupe de 2 octets. Si les données ont un nombre impair d'octet, le dernier groupe est de taille 1 octet.

Exemple : Coder les 3 caractères B45, de code ASCII [66,52,53], qui sont alors découpés [66,52],[53]

Chaque couple de 2 octets $ [a, b] $ est interprétée comme un nombre en base $ 256 $ tel que $ n = (a \times 256) + b $ (en base 10) qui peut alors se convertir en base 45 via un triplet $ [c,d,e] $ tel que $ n = c + (d \times 45) + (e \times 45^2) $. Les caractères de la table de correspondance pour les valeurs [c,d,e] sont notés (dans cet ordre) comme texte codé.

Tout éventuel dernier octet unique $ a $ se trouvant à la fin des données est aussi interprété comme un nombre en base 256 et converti en un couple $ [b,c] $ tel que $ a = b + (45 \times c) $. Les caractères de la table de correspondance pour les valeurs [b,c] sont notés (dans cet ordre) comme texte codé.

Exemple : Le couple [66,52] correspond au nombre 66 * 256 + 52 = 16948 et 16948 = 28 + 16*45 + 8*45^2, soit le triplet [28,16,8] ou les caractères S,G,8 en base45
L'octet restant [53] s'écrit en base 45 ainsi : 53 = 1 * 45 + 8, soit le couple [1,8] ou les caractères 1,8 en base45. Le codage complet de B45 en base45 est SG881

Comment décoder par Base-45 ? (Principe de décodage)

Pour toute chaine écrite en Base45, commencer par convertir les caractères en valeurs numériques (selon le tableau de correspondance).

Exemple : Décoder SG881, soit les valeurs [28,16,8,8,1]

Découper les valeurs en groupes de 3, de gauche à droite. Si le dernier groupe de 3 n'est pas complet, ajouter des 0 (zéro) à la fin.

Exemple : [28,16,8,8,1] se découpe [28,16,8],[8,1,0]

Interpréter chaque groupe [c,d,e] comme un nombre en base 45 ainsi : $ n = c + (d \times 45) + (e \times 45^2) $ et noter les valeurs $ n $ obtenues

Exemple : [28,16,8],[8,1,0] est converti en [16948],[53]

Convertir chaque nombre en base 256 (donc en octets)

Exemple : 16948 = 66 * 256 + 52 soit [66,52] et 53 reste [53] en base 256

Le message décodé est l'ensemble des octets. Il peut être interprété en code ASCII (ou Unicode)

Exemple : [66,52,53] correspond aux 3 caractères ASCII B,4,5 (texte original)

Comment reconnaitre le chiffre Base-45 ? (Identification)

Base-45 utilise les 36 caractères alphanumériques majuscules 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ complété des caractères (espace)', $ (dollar), % (pourcent), * (astérisque), + (plus), - (moins/tiret), . (point), / (slash) et : (deux points).

Base-45 est optimisé pour transmettre des données avec le mode alphanumérique des QR-codes.

Il a été utilisé dans les certificats de vaccins COVID-19 et pass sanitaires de l'union européenne.

Code source

dCode se réserve la propriété du code source de "Codage Base45" en ligne. Sauf code licence open source explicite (indiqué CC / Creative Commons / gratuit), l'algorithme pour "Codage Base45", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liée à "Codage Base45" (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 copier-coller, ou les accès API à "Codage Base45" ne sont pas publics, idem pour un usage hors ligne, PC, tablette, appli iPhone ou Android ! Rappel : dCode est gratuit.

Besoin d'Aide ?

Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !

Questions / Commentaires

Grâce à vos remarques, réponses et commentaires pertinents, dCode peut développer le meilleur outil 'Codage Base45', alors écrivez-nous c'est gratuit ! Merci !


Source : https://www.dcode.fr/codage-base45
© 2021 dCode — La 'boite à outils' indispensable qui sait résoudre tous les jeux / énigmes / géocaches / CTF.
Un problème ?