AES解密
安装
pip install Crypto
copy可用
import base64
from Crypto.Cipher import AES
class EncryptDate:
def __init__(self, key):
self.key = key.encode('utf-8')
self.length = AES.block_size
self.aes = AES.new(self.key, AES.MODE_ECB)
self.unpad = lambda date: date[0:-ord(date[-1])]
def pad(self, text):
"""
#填充函数,使被加密数据的字节码长度是block_size的整数倍
"""
count = len(text.encode('utf-8'))
add = self.length - (count % self.length)
entext = text + (chr(add) * add)
return entext
def encrypt(self, encrData):
res = self.aes.encrypt(self.pad(encrData).encode("utf8"))
msg = str(base64.b64encode(res), encoding="utf8")
return msg
def decrypt(self, decrData):
res = base64.decodebytes(decrData.encode("utf8"))
print(res)
msg = self.aes.decrypt(res).decode("utf8")
print(msg)
return self.unpad(msg)
text = 'Password0313!'
key = '123'
eg = EncryptDate(key)
res = eg.encrypt(text)
print(res)
res = eg.decrypt(res)
print(res)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律