[PYTHON] Décodage / encodage Base64

À propos du décodage et de l'encodage de Base64 utilisé dans le monde du Web. Il est également utilisé dans CTF (Capture The Flag), je l'ai donc résumé brièvement.

Commandes UNIX

Encoder

Utilisez la commande base64.

$ echo -n 'base64 encode' | base64
YmFzZTY0IGVuY29kZQ==

L'option -i lit une chaîne dans un fichier et l'encode. Utilisez l'option -o pour écrire le résultat dans un fichier.

$ base64 -i input.txt -o output.txt

Contenu de input.txt

base64 encode

Contenu de output.txt

YmFzZTY0IGVuY29kZQ==

Décoder

Ajoutez l'option -D (pour Mac). Pour Linux, ce sera -d (inférieur).

# Mac
$ echo 'YmFzZTY0IGVuY29kZQ==' | base64 -D
base64 encode

# Linux
$ echo 'YmFzZTY0IGVuY29kZQ==' | base64 -d
base64 encode

Comme pour le codage, les options -i et -o sont valides.

Python

Python2

Encoder

>>> s = 'base64 encode'
>>> s.encode('base64')
'YmFzZTY0IGVuY29kZQ==\n'

Décoder

>>> s = 'YmFzZTY0IGVuY29kZQ=='
>>> s.decode('base64')
'base64 encode'

Python3

Utilisez le module base64, qui est une bibliothèque standard.

Encoder

Utilisez la méthode base64.b64encode ().

>>> import base64
>>> s = 'base64 encode'
>>> base64.b64encode(s.encode('utf-8'))
b'YmFzZTY0IGVuY29kZQ=='

Décoder

Utilisez la méthode base64.b64decode ().

>>> import base64
>>> encoded = b'YmFzZTY0IGVuY29kZQ=='
>>> base64.b64decode(encoded)
b'base64 encode'

Notez que les deux méthodes sont des objets octets pour les arguments et les valeurs de retour.

Recommended Posts

Décodage / encodage Base64
Script Python pour le décodage ldapsearch base64
Python2 str / unicode et encoder / décoder
Expérimenté avec unicode, décoder et encoder
Numéro de base
Comprenez base64.