from Crypto.Cipher import AES from base64 import b64decode import requests import json url='https://music.163.com/weapi/comment/resource/comments/get?csrf_token=' #请求方式是post data={ "csrf_token": "", "cursor": "-1", "offset": "0", "orderType": "1", "pageNo": "1", "pageSize": "20", "rid": "R_SO_4_1441758494", "threadId": "R_SO_4_1441758494" } f = '00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7' g= '0CoJUm6Qyw8W8jud' e = '010001' i = "6PjeV1h6dxsqPxGf" def get_encSeckey(): return "aed143d5acc7d79be0989ee95c8540f05e0f1e7a68123d087570b4340e22ad1fc4ff73d0f4142845a0688d2121d711d5f9c6180d4fcafc30f9d579ccf14869952f52765643" def get_params(data): #默认这里接收的是字符串 first =enc_params(data,g) second=enc_params(first,i) return second #返回的就是params def to_16(data): pad =16 - len(data) % 16 data +=chr(pad) * pad return data def enc_params(data,key):#加密过程 iv='0102030405060708' data = to_16(data) aes = AES.new(key=key.encode("utf-8"),IV=iv.encode("utf-8"),mode=AES.MODE_CBC) bs=aes.encrypt(data.encode("utf-8"))# 加密,加密的内容的长度必须是16的倍数 return str(b64decode(bs),"utf-8") #转换成字符串返回 """ function a(a) { var d, e, b = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", c = ""; for (d = 0; a > d; d += 1) e = Math.random() * b.length, e = Math.floor(e), c += b.charAt(e); return c } function b(a, b) { var c = CryptoJS.enc.Utf8.parse(b) , d = CryptoJS.enc.Utf8.parse("0102030405060708") , e = CryptoJS.enc.Utf8.parse(a) , f = CryptoJS.AES.encrypt(e, c, { iv: d, mode: CryptoJS.mode.CBC }); return f.toString() } function c(a, b, c) { var d, e; return setMaxDigits(131), d = new RSAKeyPair(b,"",c), e = encryptedString(d, a) } function d(d, e, f, g) { d:数据 ,e :010001,f =很长,g = 0CoJUm6Qyw8W8jud var h = {} , i = a(16); return h.encText = b(d, g), h.encText = b(h.encText, i), h.encSecKey = c(i, e, f), h } """ resp=requests.post(url,data={ "params":get_params(json.dumps(data)), "encSecKey":get_encSeckey() }) print(resp.text)
逆向加密解码项目
最新推荐文章于 2023-10-23 14:13:04 发布