Rubrique précédente: Login2Rubrique suivante: Alphabet Base64


Algorithme d'encodage Base64

L'encodage Base64 utilise seulement 6 bits (correspondant à 2^6 = 64 caractères), d'où son nom de Base64. Les 64 caractères sont composés de 10 chiffres, 26 caractères en minuscules, 26 caractères en majuscules, ainsi que les symboles plus (+) et barre oblique (/).

L'encodage Base64 est une procédure en deux étapes. Un flux d'octets est divisé en deux groupes, chacun constitué de trois octets consécutifs. Chaque groupe (trois octets en séquence, chacun composé de huit bits) est converti en une série de quatre chiffres composés de six bits. Lors de la seconde étape, les chiffres sont convertis en caractères ASCII à l'aide de la table d'encodage Base64.

Par exemple :

Etape 1 : Pour la chaîne $t@ (36, 116, 64), le flux de bits correspondant est 001001000111010001000000, ce qui correspond aux valeurs 6 bits 9, 7, 17 et 0.

36 = 00100100

116 = 01110100

64 = 01000000

001001 = 9

000111 = 7

010001 = 17

000000 = 0

Etape 2 : Ces chiffres sont ensuite convertis en caractères ASCII à l'aide de la table d'encodage Base64. Les valeurs 6 bits de notre exemple deviennent la séquence ASCII JHRA.

9 => J

7 => H

17 => R

0 => A

Remarque : Si la taille des données originales, en octets, n'est pas un multiple de trois, il peut rester un ou deux octets de 8 bits. La solution est d'ajouter suffisamment d'octets d'une valeur de 0 pour créer un groupe de trois octets.

Ces groupes 0 ajoutés artificiellement ne sont pas encodés à l'aide de la table d'encodage. Ils sont représentés par un 65ème caractère. Le caractère de remplissage Base64 est =.