环境安装
1 | pip uninstall crypto |
前面两个卸载命令是为了防止一些安装环境问题,具体请看文章
pycryptodome
AES加密
加密模式
AES 加密最常用的模式就是 ECB模式 和 CBC 模式,当然还有很多其它模式,他们都属于AES加密。ECB模式和CBC 模式俩者区别就是 ECB 不需要 iv偏移量,而CBC需要。
AES加密使用参数
以下参数都是在python中使用的。
参数 作用及数据类型
秘钥 加密的时候用秘钥,解密的时候需要同样的秘钥才能解出来; 数据类型为bytes
明文 需要加密的参数; 数据类型为bytes
模式 aes 加密常用的有 ECB 和 CBC 模式(我只用了这两个模式,还有其他模式);数据类型为aes类内部的枚举量
iv 偏移量 这个参数在 ECB 模式下不需要,在 CBC 模式下需要;数据类型为bytes
1 | # ECB模式加密解密 |
以上是针对ECB模式的加密解密,从这个例子中可以看出参数中有几个限制。
- 秘钥必须为16字节或者16字节的倍数的字节型数据。
- 明文必须为16字节或者16字节的倍数的字节型数据,如果不够16字节需要进行补全,关于补全规则,后面会在补全模式中具体介绍。
1 | # CBC |
hashlib
MD5
hashlib模块下的"加密"
1 | import hashlib |
Sha256
1 | import hashlib |
Author: Mrli
Link: https://nymrli.top/2022/04/29/使用Python转义实现前端加密算法-记录笔记/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.