Encodage et décodage Base64

Le codage Base64 convertit les données binaires au format texte, qui est transmis via le canal de communication où un utilisateur peut gérer le texte en toute sécurité. Base64 est également appeléPrivacy enhanced Electronic mail (PEM) et est principalement utilisé dans le processus de cryptage des e-mails.

Python comprend un module appelé BASE64 qui comprend deux fonctions principales comme indiqué ci-dessous -

  • base64.decode(input, output) - Il décode le paramètre de valeur d'entrée spécifié et stocke la sortie décodée en tant qu'objet.

  • Base64.encode(input, output) - Il code le paramètre de valeur d'entrée spécifié et stocke la sortie décodée en tant qu'objet.

Programme d'encodage

Vous pouvez utiliser le morceau de code suivant pour effectuer un encodage base64 -

import base64
encoded_data = base64.b64encode("Encode this text")

print("Encoded text with base 64 is")
print(encoded_data)

Production

Le code pour l'encodage base64 vous donne la sortie suivante -

Programme de décodage

Vous pouvez utiliser le morceau de code suivant pour effectuer le décodage base64 -

import base64
decoded_data = base64.b64decode("RW5jb2RlIHRoaXMgdGV4dA==")

print("decoded text is ")
print(decoded_data)

Production

Le code pour le décodage base64 vous donne la sortie suivante -

Différence entre ASCII et base64

Vous pouvez observer les différences suivantes lorsque vous travaillez sur ASCII et base64 pour le codage des données -

  • Lorsque vous encodez du texte en ASCII, vous commencez par une chaîne de texte et la convertissez en une séquence d'octets.

  • Lorsque vous encodez des données en Base64, vous commencez par une séquence d'octets et vous la convertissez en chaîne de texte.

Inconvénient

L'algorithme Base64 est généralement utilisé pour stocker les mots de passe dans la base de données. L'inconvénient majeur est que chaque mot décodé peut être encodé facilement via n'importe quel outil en ligne et que les intrus peuvent facilement obtenir les informations.