今日头条文章js生成cp和as参数转换为php和python算法【原创】

今日头条js生成cp和as参数转换为php和python算法 【原创】

cp 和 as 参数实际是对当前时间戳的加密后得到的

JS

!function(t) {

    var i = {};

    i.getHoney = function() {

        var t = Math.floor((new Date).getTime() / 1e3)

          , i = t.toString(16).toUpperCase()

          , e = md5(t).toString().toUpperCase();

        if (8 != i.length)

            return {

                as: "479BB4B7254C150",

                cp: "7E0AC8874BB0985"

            };

        for (var s = e.slice(0, 5), o = e.slice(-5), n = "", a = 0; 5 > a; a++)

            n += s[a] + i[a];

        for (var l = "", r = 0; 5 > r; r++)

            l += i[r + 3] + o[r];

        return {

            as: "A1" + n + i.slice(-3),

            cp: i.slice(0, 3) + l + "E1"

        }

    }

    ,

    t.ascp = i

}(window, document),

 

1. php 算法实现参考


function getAsCp()

{

    $as = ''; $cp = '';



    $time = time();

    $key = strtoupper(dechex($time));

    $md5Key = strtoupper(md5($time));



    if (8 !== strlen($key)) {

        $as = '479BB4B7254C150';

        $cp = '7E0AC8874BB0985';

    } else {

        $md5KeyAsc5 = substr($md5Key, 0, 5);

        $md5KeyDesc5 = substr($md5Key, -5);

        $as = ''; $cp = '';

        for ($i = 0; $i < 5; $i ++) {

            $as .= $md5KeyAsc5[$i] . $key[$i];

            $cp .= $key[$i + 3] . $md5KeyDesc5[$i];

        }

        $as = 'A1' . $as . substr($key, -3);

        $cp = substr($key, 0, 3) . $cp . 'E1';

    }



    return array($as, $cp);

}

2. python算法实现参考

def getASCP(): t = int(math.floor(time.time())) e = hex(t).upper()[2:] m = hashlib.md5()m.update(str(t).encode(encoding='utf-8')) i = m.hexdigest().upper() if len(e) != 8: AS ='479BB4B7254C150' CP = '7E0AC8874BB0985' return AS,CP n = i[0:5] a = i[-5:] s = '' r = '' for o inrange(5): s += n[o] + e[o] r += e[o + 3] + a[o] AS = 'A1' + s + e[-3:] CP = e[0:3] + r + 'E1' return AS,CP

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值