AES解密

AES加密解密方法:ECB,CBC,CTR,CFB,OFB.

进行加密解密前先安装包

pip install pycryptodome
pip install pyaes

解密示例:注此为CFB解密方式

#_*_coding:utf-8_*_
import requests
from lxml.html import etree
import json
import base64
import pyaes
import zlib
# pip install pycryptodome
from Crypto.Cipher import AES
from binascii import b2a_hex, a2b_hex
# from lxml import html#此处直接引入etree报错是因为版本问题,换个方式引入
# etree = html.etree#引入etree方法
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4385.0 Safari/537.36'
}
# source = requests.get('https://www.zk120.com/ji/content/529?uid=None&_=1614130155981',headers=headers).json()
# print(source)
source = requests.get('https://www.zk120.com/ji/content/529?uid=None&_=1614156803258').json()
# print(source1)
base=source['data']#获取出密文的内容
# print(base)
content = base64.b64decode(base.encode('utf-8'))#将密文转为base64
decryptor = AES.new(b"61581af471b166682a37efe6",AES.MODE_CFB, b"c8f203fca312aaab", segment_size=128)#传入密钥key值,解密方式,偏移量,密钥长度
decrypt_text = decryptor.decrypt(content)#解密
text_zip = json.loads(zlib.decompress(decrypt_text))#解压缩
# 输出结果
text_code = text_zip.get("text").encode("utf-8", "ignore")
print(str(text_code, encoding='utf-8'))