[PYTHON] cryptage et décryptage pycrypto

import string
import random

#pip install pycrypto
from Crypto.Cipher import AES


key = ''.join(
    random.choice(string.ascii_letters) for _ in range(AES.block_size)) #Notation d'inclusion

iv = ''.join(
    random.choice(string.ascii_letters) for _ in range(AES.block_size)) #Notation d'inclusion

plaintext = 'fdsfsdgsgsfgs'
cipher = AES.new(key, AES.MODE_CBC, iv)
padding_length = AES.block_size - len(plaintext) % AES.block_size #Calculer la longueur de la chaîne de remplissage
plaintext += chr(padding_length) * padding_length #rembourrage
cipher_text = cipher.encrypt(plaintext) #chiffrement
print(cipher_text)

cipher2 = AES.new(key, AES.MODE_CBC, iv)
decrypted_text = cipher2.decrypt(cipher_text) #Décryptage
print(decrypted_text[:-decrypted_text[-1]]) #Affichage avec la chaîne de caractères remplie supprimée
b'\xba\xb5\xf6\x0f\x87\xe0N\xa1?I\xf6O\x1d\x96]\x88'
b'fdsfsdgsgsfgs'

Recommended Posts

cryptage et décryptage pycrypto
Chiffrement et déchiffrement avec Python
Mémo de traitement de cryptage et de décryptage PyCryptodome AES
Crypter / décrypter avec la commande GPG
La version Node.js de chiffrement et de déchiffrement AES-CBC avec Python sera également ajoutée.
Méthodes et champs privés en python [chiffrement]