Outil pour chiffrer/convertir avec la base 58 composée des caractères alphanumériques sauf 0,O,I,l pour éviter les erreurs de lecture.
Base 58 - dCode
Catégorie(s) : Arithmétique, 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 58 est un système de codage qui permet de convertir des données binaires en une chaîne de caractères composée d'un ensemble spécifique de 58 caractères. En particulier, la base 58 utilise généralement les 62 caractères alphanumériques (26 lettres minuscules + 26 lettres majuscules + 10 chiffres) mais en y enlevant 0 (zéro), O (lettre o majuscule), I (lettre i majuscule) et l (lettre L minuscule) afin de limiter les potentielles erreurs de lecture (par un humain ou une machine).
La base 58 a été crée pour coder des grand nombres entiers, comme toute base en arithmétique, elle utilise des symboles pour les chiffres au delà de 9. En base 58, par défaut, les 58 symboles sont 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
La table de correspondance de la Base58 est
Index | Base58 | Index | Base58 | Index | Base58 | Index | Base58 |
---|---|---|---|---|---|---|---|
0 | 1 | 1 | 2 | 2 | 3 | 3 | 4 |
4 | 5 | 5 | 6 | 6 | 7 | 7 | 8 |
8 | 9 | 9 | A | 10 | B | 11 | C |
12 | D | 13 | E | 14 | F | 15 | G |
16 | H | 17 | J | 18 | K | 19 | L |
20 | M | 21 | N | 22 | P | 23 | Q |
24 | R | 25 | S | 26 | T | 27 | U |
28 | V | 29 | W | 30 | X | 31 | Y |
32 | Z | 33 | a | 34 | b | 35 | c |
36 | d | 37 | e | 38 | f | 39 | g |
40 | h | 41 | i | 42 | j | 43 | k |
44 | m | 45 | n | 46 | o | 47 | p |
48 | q | 49 | r | 50 | s | 51 | t |
52 | u | 53 | v | 54 | w | 55 | x |
56 | y | 57 | z |
Le chiffrement d'un nombre se fait en réalisant un changement de base.
Exemple : $ 1234_{10} = 21 \times 58^1 + 16 = \{21,16\}_{58} $ soit NH en utilisant les symboles de la base 58 (le 21ème symbole est un N et le 16ème symbole est un H).
Pour chiffrer un message, il est nécessaire de le convertir en un grand nombre, en utilisant un encodage comme la table ASCII ou Unicode.
Le déchiffrement de la Base 58 consiste en une conversion du message considéré en base 58.
Si le résultat attendu est un nombre alors convertir la base 58 en base 10 pour obtenir un entier.
Exemple : Le message en base 58 38 correspond au calcul $ 2 \times 58 + 7 = 123 $ soit 123 en base 10.
Si le résultat attendu est un message, alors convertir la base 58 en binaire ou hexadécimal et utiliser la table de codage souhaitée (ASCII ou Unicode) pour obtenir un message clair.
Le message est composé d'au plus 58 caractères distincts, et ne doit pas contenir de chiffre 0 (zéro), ni de lettre I (i majuscule), ni de lettre O (o majuscule) ni de lettre l (L minuscule).
Base58 est couramment utilisée dans les applications de cryptographie, les adresses de portefeuilles de crypto-monnaies (Bitcoin ou Ripple) ou dans les URL.
Toute référence au Bitcoin ou à son inventeur Satoshi Nakamoto, ou à d'autres cryptomonnaie comme Ripple est un indice.
L'alphabet de symboles utilisé pour coder la base 58 peut être complètement différent de 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz.
Une variante classique est 123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ (majuscule et minuscule inversées, utilisée par Flickr) mais bien d'autres alphabet, y compris des alphabets désordonnés peuvent être utilisés.
Base58Check est un algorithme utilisé par la Blockchain Bitcoin pour les adresses BTC qui est basé sur Base58 y ajoutant des modificateurs comme un numéro de version et une somme de controle.
dCode se réserve la propriété du code source pour "Base 58". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Base 58", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "Base 58" (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 58" 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 58" 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 58 sur dCode.fr [site web en ligne], consulté le 04/12/2024,