python Crypto 加密解密
本片文字记录使用python 的Crypto 工具对图片或者文本进行加密解密的方法:
import numpy as np from PIL import Image from base64 import b64encode, b64decode from Crypto.Cipher import AES BS = 16 iv = 16 * b'\0' key = b'25jkUjx14hkc@q58gxU3mcaaaaaaaaaa' imgPath = './test/data/0_biaoge.jpg' # pad for length not multiple of string pad_txt = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS) # jiami obj = AES.new(key, AES.MODE_CBC, iv) img = open(imgPath, 'rb').read() img_base64 = b64encode(img) img_base64_str = str(img_base64, encoding='utf-8') data_jiami = obj.encrypt(pad_txt(img_base64_str)) # jiemi obj2 = AES.new(key, AES.MODE_CBC, iv) data_jiemi = obj2.decrypt(data_jiami) data_jiemi_str = str(data_jiemi, encoding='utf-8').replace('\x04', '') data_jiemi_base64 = b64decode(data_jiemi_str) img = np.asarray(bytearray(data_jiemi_base64), dtype="uint8")