JS逆向加解密——python 实现AES加解密

前言
写爬虫项目,做JS逆向或者APP逆向时,经常遇到网站的很多参数都经过AES加密解密,用python实现AES加解密是非常简单的,免去了扣JS代码,并且实现格式固定,所以本文提供实现好的AES加解密代码,方便使用,不用到处去找了
 AES 简绍 
AES是一种对称加密,即加密与解密使用的秘钥是一个 ,数据类型为bytes
密钥必须是16个字节,加密的文本必须是16字节的倍数。
被加密的明文是str类型(需转为bytes),得到的加密后的结果也是bytes类型,明文必须为16字节或者16字节的倍数的字节型数据,如果不够16字节需要进行补全
AES 加密最常用的模式就是 ECB模式 和 CBC 模式,区别就是 ECB 不需要 iv偏移量,而CBC需要
明文不够16字节需要补全时,补全规则跟填充方式相关,常见的填充方式有packs5和packs7, 不用深究(除非你就想花大量时间研究算法),实际使用是一样的
AES 安装模块
crypto这个模块的安装有点小坑,需要注意。

crypto,pycrypto,pycryptodome的功能是一样的。crypto与pycrypto已经没有维护了,所以直接都用 pycryptodome 就行了,安装命令如下

pip install pycryptodome

具体使用

  •  以下代码是AES ECB模式,
  • CBC模式多了iv
  • CBC  ECB 其他使用方式代码结构基本一致,伙伴们自己根据实际使用修改
    
    import base64
    from Crypto.Cipher import AES
    from Crypto.Util.Padding import pad  # pad 实现自动填充 无需手写判断字符长度再进行填
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值