逆向加密解码项目

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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值