python实现AES加密
2024-09-01 23:43:26
pip install pycryptodomex
需要安装pycryptodomex模块
aes加密
from Cryptodome.Cipher import AES
from binascii import b2a_hex, a2b_hex
from config import secret_key class AESEncrypts:
def __init__(self):
self.key = secret_key[0:16].encode("utf-8")
self.BS = AES.block_size
self.pad = lambda s: s + (self.BS - len(s) % self.BS) * chr(self.BS - len(s) % self.BS)
self.un_pad = lambda s: s[0:-ord(s[-1])] def encrypt(self, clear_text):
aes = AES.new(self.key, AES.MODE_CBC, self.key)
return b2a_hex(aes.encrypt(self.pad(clear_text).encode('utf-8'))).decode("utf-8") def decrypt(self, cipher_text):
aes = AES.new(self.key, AES.MODE_CBC, self.key)
text = aes.decrypt(a2b_hex(cipher_text.encode("utf-8")))
return self.un_pad(text.decode("utf-8"))
des3 加密
BS = DES3.block_size
keylen = BS * 3
pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS)
pad_key = lambda s: (keylen - len(s) % keylen) * chr(keylen - len(s) % keylen) + s
unpad = lambda s: s[0:-ord(s[-1])] def Encrypt(key, data):
cipher = DES3.new(key=pad_key(key), mode=DES3.MODE_ECB)
return base64.b64encode(cipher.encrypt(pad(data).encode("utf-8"))) def Decrypt(key, data):
cipher = DES3.new(key=key, mode=DES3.MODE_ECB)
return unpad(cipher.decrypt(base64.b64decode(data)))
最新文章
- 《高性能javascript》一书要点和延伸(上)
- 7.2WebApi2中的全局异常处理
- NOIp DP 1003 爆零记
- 读文档readarx.chm
- 拼音 名字 排序 a-z的比较 ( sortUsingComparator )
- OpenStack Swift集群与Keystone的整合使用说明
- 要检测两个C文件的代码的抄袭情况
- Sublime text3 笔记
- 通过shell脚本实现代码自动化部署
- iOS消息推送机制
- Tomcat学习笔记 - 错误日志 - NetBeans配置tomcat出错情况总结 -- 部署错误: 启动 Tomcat 失败。-- '127.0.0.1' 不是内部或外部命令,也不是可运行的程序
- ASP.NET 使用My97DatePicker日期控件
- OpenGL中shader使用
- HDU-5123-who is the best?
- Java大数据人才应用领域广,就业薪酬高
- (转)使用JMeter进行Web压力测试
- python day31--网络编程,tcp,udp的指令,及黏包
- eclipse 无法记住svn密码
- UltraISO制作Ubuntu14.04 64bit到U盘文件载入不完整
- Okhttp、Volley和Gson的简单介绍和配合使用