def encrypt(self, params: str, key: str, iv: str) -> str:
"""加密"""
generator = AES.new(key.encode("utf8"),
AES.MODE_CBC, iv.encode("utf8"))
bs = AES.block_size
pad = lambda s: s + (self.bs - len(s) %
self.bs) * chr(self.bs - len(s) % self.bs)
data = bytes(pad(params), encoding="utf8")
crypt = generator.encrypt(data)
crypted_str = base64.b64encode(crypt)
return crypted_str.decode()
    def decrypt(self, params: str, key: str, iv: str) -> dict:
"""解密"""
decode = base64.b64decode(params)
cryptor = AES.new(key.encode("utf8"),
AES.MODE_CBC, iv.encode("utf8"))
plain_text = cryptor.decrypt(decode)
unpad = lambda s: s[0:-ord(s[-1:])]
return unpad(plain_text)
pip install pycryptodome

最新文章

  1. 在AndroidStudio不能找到so文件问题:couldn't find libweibosdkcore.so
  2. 【HDU2196 Computer】经典树形dp
  3. File类的createNewFile()与createTempFile()的区别
  4. [原]Wpf应用Path路径绘制圆弧
  5. 嵌入式开发应该掌握的一些Linux命令
  6. Python之倒序访问list
  7. tyvj P1075 - 硬币游戏 博弈DP
  8. UVa - The 3n + 1 problem 解读
  9. 洛谷U4727 小L 的二叉树
  10. spring boot / cloud (十九) 并发消费消息,如何保证入库的数据是最新的?
  11. 微信小程序个人心得
  12. 15分钟理解HTTPS——通俗篇
  13. 并查集---java模板
  14. Ubuntu16.04更新记
  15. spring事务传播实现源码分析
  16. 【JEECG技术文档】JEECG 组织机构导入V3.7
  17. hadoop学习笔记(三):hadoop文件结构
  18. HDU 3695 Computer Virus on Planet Pandora (AC自己主动机)
  19. 将 sublime test3 添加到鼠标右键的方法
  20. JavaScript深拷贝—我遇到的应用场景

热门文章

  1. 一个基于角色的访问控制(RBAC)的简单示例
  2. 图学习【参考资料2】-知识补充与node2vec代码注解
  3. nacos集群搭建和反向代理
  4. nginx的域名重写和转发案例
  5. 靶机练习: Hacker_Kid-v1.0.1
  6. i春秋Musee de X
  7. psutil.AccessDenied: psutil.AccessDenied
  8. HCIE Routing&Switching之MPLS LDP理论
  9. 论文解读(CDTrans)《CDTrans: Cross-domain Transformer for Unsupervised Domain Adaptation》
  10. Windows Terminal ssh 远程 Linux 和使用 Git