Outil pour décoder/encoder en Base 64 (ou Base64), un codage de l'information à 64 caractères, sélectionnés pour être disponibles sur la majorité des tables de caractères.
Code Base64 - dCode
Catégorie(s) : Codage de Caractères, Internet
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 !
Base64 est un codage informatique utilisant 64 caractères pour encoder n'importe quelle chaine binaire avec du texte (il est notamment utilisé pour les emails). Il utilise 64 caractères pour représenter les données, d'où son nom.
L'encodage en Base 64 nécessite une entrée/donnée binaire (pour un texte, les valeurs binaires dépendent du codage utilisé, souvent ASCII ou Unicode).
Exemple : Coder DCODE qui s'écrit 01100100 01000011 01101111 01100100 01100101 en binaire (code ASCII)
Le chiffrement en Base64 commence par découper le message en groupe de 6 bits, complété avec des 0 si besoin.
Exemple : La découpe/séparation donne 011001 000100 001101 101111 011001 000110 0101 (+00)
Chaque groupe de 6 bits est ensuite converti en un caractère à partir d'un alphabet/tableau de 64 caractères prédéfinis : ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
0 000000 | A | 16 010000 | Q | 32 100000 | g | 48 110000 | w |
---|---|---|---|---|---|---|---|
1 000001 | B | 17 010001 | R | 33 100001 | h | 49 110001 | x |
2 000010 | C | 18 010010 | S | 34 100010 | i | 50 110010 | y |
3 000011 | D | 19 010011 | T | 35 100011 | j | 51 110011 | z |
4 000100 | E | 20 010100 | U | 36 100100 | k | 52 110100 | 0 |
5 000101 | F | 21 010101 | V | 37 100101 | l | 53 110101 | 1 |
6 000110 | G | 22 010110 | W | 38 100110 | m | 54 110110 | 2 |
7 000111 | H | 23 010111 | X | 39 100111 | n | 55 110111 | 3 |
8 001000 | I | 24 011000 | Y | 40 101000 | o | 56 111000 | 4 |
9 001001 | J | 25 011001 | Z | 41 101001 | p | 57 111001 | 5 |
10 001010 | K | 26 011010 | a | 42 101010 | q | 58 111010 | 6 |
11 001011 | L | 27 011011 | b | 43 101011 | r | 59 111011 | 7 |
12 001100 | M | 28 011100 | c | 44 101100 | s | 60 111100 | 8 |
13 001101 | N | 29 011101 | d | 45 101101 | t | 61 111101 | 9 |
14 001110 | O | 30 011110 | e | 46 101110 | u | 62 111110 | + |
15 001111 | P | 31 011111 | f | 47 101111 | v | 63 111111 | / |
Exemple : Le premier code 011001 correspond à Z, 000100 correspond à E, etc. soit le message codé : ZENvZGU
La Base 64 est standardisée pour avoir des groupes de 4 caractères, au besoin, compléter avec le caractère de remplissage =.
Exemple : ZENvZGU (qui possède 7 caractères) devient ZENvZGU=' (8 caractères, un multiple de 4) qui est le message final codé en base64.
Pour décoder des données en Base64, inverser le processus d'encodage : convertir chaque caractère en son équivalent binaire de 6 bits, puis recombiner ces groupes pour retrouver les données binaires originales.
Les éventuels signes égal = n'existant pas dans l'alphabet, il sont ignorés.
Exemple : Un message a été encodé YjY0, les codes de Y,j,Y,0 dans l'alphabet sont respectivement 011000,100011,011000,110100 qui représente le message binaire décodé 011000100011011000110100
Le décodage Base64 est alors terminé. Si le message binaire était une chaine de caractère, elle est alors lue selon l'encodage original (ASCII, Unicode, etc.)
Exemple : En ASCII : 01100010,00110110,00110100 correspond aux 3 caractères b64
Le message est théoriquement composé d'un nombre de caractères multiple de 4. A cette fin, la présence caractères = (égal) à la fin du message est un gros indice.
Le message est composé de 65 caractères maximum (et éventuellement espace ou retour à la ligne). Par défaut il s'agit de : ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
Base64 est généralement utilisé dans les emails pour les messages non ASCII et les pièces jointes (via le standard MIME : Multipurpose Internet Mail Extensions)
Le réseau Usenet utilisait le Base64 pour transférer des fichiers, toute indication y référant est un indice.
Plusieurs signatures d'utilisateurs ou de sites sont associés à la Base64 comme code 6.0 (94/25) ou les extensions .b64
Base64 est parfois utilisé pour stocker des mots de passe qui ne peuvent être encryptés et ce pour éviter qu'ils ne soient affichés en clair, comme dans les fichiers XML de configuration de certains logiciels (Bases de données, FTP, Filezilla, etc.)
Un message codé en Base64 contiendra uniquement des caractères ASCII imprimables ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
Cette propriété permet de transmettre n'importe quelles données sur des systèmes originellement prévue pour ne transmettre que du texte (sans avoir à se soucier de l'encodage initial ni de la manière dont les caractères apparaitrons sur l'écran du destinataire du message)
La base64 est un standard (RFC 4648) mais plusieurs variantes ont été proposée, certaines officiellement, d'autres sont des propositions peu ou pas utilisées.
— Base64URL est une variante officielle de Base64 adaptée aux URL (http). Les caractères 62 + et 63 / peuvent poser des problèmes dans les URL, les remplacer alors par respectivement - et _. De plus, le = est quant à lui souvent ignoré/supprimé.
— Base64 (RFC 2045) pour MIME (Multipurpose Internet Mail Extensions), cette ancienne version précise que les lignes encodées en Base64 sont limitées à 76 caractères.
— itoa64, une fonction de conversion d'entier en chaine de caractère qui utilise l'alphabet ./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
— y64, une variante pour URL proposée par Yahoo, + devient ., / devient _ et = devient -
— Radix-64, une norme reconnue (RFC 4880) proposant comme alphabet 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/
— uuencoding, un encodage Unix utilisant les 64 premier caractères imprimables de la table ASCII (une variante remplace l'espace par `)
— xxencoding, un encodage rare utilisant +-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
— BinHex 4.0, un algorithme Apple qui utilise un alphabet spécial !"#$%&()*+,-012345689@ABCDEFGHIJKLMNPQRSTUVXYZ[abcdefhijklmpqr`
— megan35, atom128, zong22, hazz15 sont des inventions du web proposant des alphabets de substitution apparemment aléatoires
Base64 est un système de codage et non un système de chiffrement. Il n'est pas prévu pour être utilisé avec une clé et il n'existe aucune variante utilisant la Base64 avec une clé.
Cependant il est possible de chiffrer un message en utilisant d'abord un chiffrement avec une clé avant d'encoder le résultat avec Base64.
Certains chiffrements modernes comme AES ou RSA, renvoient des données binaires et il est courant d'utiliser la Base64 pour partager un message chiffré.
Egalement, une clé secrète/privée de chiffrement (ou une clé publique) peut être partagée via un encodage Base64 au besoin.
Non, comme indiqué dans le principe d'encodage, la présence de caractères = (égal) n'est pas obligatoire, elle survient 3 fois sur 4 environ.
La base 64 utilise 4 caractères ASCII pour coder 3 octets, le volume des données est donc augmenté de 33%.
Exemple : Base64 (6 caractères) se code QmFzZTY0 (8 caractères soit +33%)
base64 (sans majuscule) se code YmFzZTY0
Tous les fichiers sont supportés, les formats fichiers de usuels
— Audio : WAV, MP3, WMA, FLAC, etc.
— Image : JPG, PNG, WEBP, GIF, etc.
— Documents : PDF, DOC, DOCX, ODT, TXT, etc.
— Video : AVI, MKV, MP4, etc.
Cette liste est non exhaustive, tous les types de fichiers sont compatibles avec l'encodage Base64.
La base64 utilise un alphabet de soixante-quatre caractères pour coder n'importe quelle chaine binaire (en base 2), c'est donc une conversion mathématique en base 64.
La Norme RFC 2045 qui officialise la première version Base64 date de 1996
dCode se réserve la propriété du code source pour "Code Base64". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Code Base64", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "Code Base64" (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 à "Code Base64" 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 "Code Base64" 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 :
Code Base64 sur dCode.fr [site web en ligne], consulté le 21/12/2024,