1.代碼
from Crypto.Cipher import AES
import base64
class Aes_ECB(object):
def __init__(self):
self.key = 'XXXXXXXXXXX' #秘鑰
self.MODE = AES.MODE_ECB
self.BS = AES.block_size
self.pad = lambda s: s + (self.BS - len(s) % self.BS) * chr(self.BS - len(s) % self.BS)
self.unpad = lambda s: s[0:-ord(s[-1])]
# str不是16的倍數那就補足為16的倍數
def add_to_16(value):
while len(value) % 16 != 0:
value += '\0'
return str.encode(value) # 回傳bytes
def AES_encrypt(self, text):
aes = AES.new(Aes_ECB.add_to_16(self.key), self.MODE) # 初始化加密器
encrypted_text = str(base64.encodebytes(aes.encrypt(Aes_ECB.add_to_16(self.pad(text)))),
encoding='utf-8').replace('\n', '') # 這個replace大家可以先不用,然后在除錯出來的結果中看是否有'\n'換行符
# 執行加密并轉碼回傳bytes
return encrypted_text
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/184531.html
標籤:Python
上一篇:docker下如何搭建MySQL+php-fpm+nginx容器環境,本文詳解
下一篇:計算機基礎
