Python 파충류 인 스 턴 스 (3) - 오늘 의 톱 as cp 알고리즘 복호화

        as cp   ,          ,   js        ,         

url = "http://www.toutiao.com/api/pc/feed/" data = { "category":"news_game", "utm_source":"toutiao", "widen":str(i), "max_behot_time":"0", "max_behot_time_tmp":"0", "tadrequire":"true", "as":"479BB4B7254C150", "cp":"7E0AC8874BB0985", } headers = { "Host":"www.toutiao.com", "Connection":"keep-alive", "Accept":"text/javascript, text/html, application/xml, text/xml, */*", "X-Requested-With":"XMLHttpRequest", "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Content-Type":"application/x-www-form-urlencoded", "Referer":"http://www.toutiao.com/ch/news_hot/", "Accept-Encoding":"gzip, deflate", "Accept-Language":"zh-CN,zh;q=0.8", } result1 = session.get(url=url,params=data,headers=headers).text result2 =json.loads(result1)

오늘 톱기사 as cp 알고리즘 해석, 우리 가 제출 할 때 "as": "479 BB4B7254C 150",   "cp": "7E0AC 8874 BB 0985" 면 됩 니 다. 관심 있 는 학생 들 은 그들의 js 코드 를 보 러 갈 수 있 습 니 다. 간단하게 암호 화 했 을 뿐 입 니 다.
 
 
 
var e = {};
    e.getHoney = function() {
        var t = Math.floor((new Date).getTime() / 1e3),
            e = t.toString(16).toUpperCase(),
            n = md5(t).toString().toUpperCase();
        if (8 != e.length) return {
            as: "479BB4B7254C150",
            cp: "7E0AC8874BB0985"
        };
        for (var o = n.slice(0, 5), i = n.slice(-5), a = "", r = 0; 5 > r; r++) a += o[r] + e[r];
        for (var l = "", s = 0; 5 > s; s++) l += e[s + 3] + i[s];
        return {
            as: "A1" + a + e.slice(-3),
            cp: e.slice(0, 3) + l + "E1"
        }
    }, t.ascp = e
}(window, document), function() {
    var t = ascp.getHoney(),
        e = {
            path: "/",
            domain: "i.snssdk.com"
        };
    $.cookie("cp", t.cp, e), $.cookie("as", t.as, e), window._honey = t
}(), Flow.prototype = {
    init: function() {
        var t = this;
        this.url && (t.showState(t.auto_load ? NETWORKTIPS.LOADING : NETWORKTIPS.HASMORE), this.container.on("scrollBottom", function() {
            t.auto_load && (t.lock || t.has_more && t.loadmore())
        }), this.list_bottom.on("click", "a", function() {
            return t.lock = !1, t.loadmore(), !1
        }))
    },
    loadmore: function(t) {
        this.getData(this.url, this.type, this.param, t)
    },

 as  cp 알고리즘 Python 구현
import time
import hashlib 

def get_as_cp():
    zz ={}
    now = round(time.time())
    print now  #       
    e = hex(int(now)).upper()[2:]  #hex()                   
    print e 
    i = hashlib.md5(str(int(now))).hexdigest().upper() #hashlib.md5().hexdigest()  hash     16    
    if len(e)!=8:
        zz = {'as': "479BB4B7254C150",
            'cp': "7E0AC8874BB0985"}
        return zz
    n=i[:5]
    a=i[-5:]
    r = ""
    s = ""
    for i in range(5):
        s = s+n[i]+e[i]
    for j in range(5):
        r = r+e[j+3]+a[j]
    zz = {
            'as': "A1" + s + e[-3:],
            'cp': e[0:3] + r + "E1"
        } 
    print zz

if __name__ == "__main__":
    get_as_cp()

좋은 웹페이지 즐겨찾기