Python3 js文本数据解密爬虫 AES CBC模式解密

最近采集一个网站,返回数据json数据全是这样的:
在这里插入图片描述
很明显是这个数据是做了加密的,于是尝试在sources中寻找关键加密的关键字,诸如base64等,果不其然,打几个断点发现这里就是所有json数据解密的关键过程:
在这里插入图片描述

百度搜索关键字aes相关,在结合解密代码,在一个加解密网站成功复刻了数据:
在这里插入图片描述
接下来就是利用Python3完成对应的解密过程,对应的博客的加密和解密 简单分离处理后得到Python3版本的AES CBC模式的解密函数

from Crypto.Cipher import AES
from binascii import b2a_hex, a2b_hex
def decryot(key, i, text):
    '''
    AES-CBC解密函数
    key:秘钥
    i:偏移量
    text:加密数据
    '''
    # 全部转换为字节
    key = key.encode('utf-8')
    i = i.encode('utf-8')
    mode = AES.MODE_CBC
    cryptor = AES.new(key, mode, i)
    plain_text = cryptor.decrypt(a2b_hex(text))
    # return plain_text.rstrip('\0')
    return bytes.decode(plain_text).rstrip('\0')
key = 'jo8j9wGw%6HbxfFn'
i = '0123456789ABCDEF'
text = '4bd02be856577e3e61e83b86f51afca55280b5ee9ca16beb9b2a65406045c9497c089d5e8ff97c63000f62b011a64f4019b64d9a050272bd5914634d030aab69'
real_text = decryot(key, i, text)
# print(text)
print('\n',real_text)

解密结果:
{"code":408,"message":"token失效","success":false}
文字中的token是另一个问题,算是获取json文件的参数,有兴趣的朋友可以看看我上一篇文章,这个token放在localStorage中的,需要selenium拿。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值