码迷,mamicode.com
首页 > Web开发 > 详细

Js生成接口请求参数签名加密

时间:2017-12-29 12:23:42      阅读:349      评论:0      收藏:0      [点我收藏+]

标签:tps   div   cti   com   func   java   turn   规则   首字母排序   

js生成接口请求参数签名加密

定义规则:将所有参数字段按首字母排序, 拼接成key1 = value1 & key2 = value2的格式,再在末尾拼接上key = appSecret, 再做MD5加密生成sign,方法如下:

function getSign(params, kAppKey, kAppSecret) {
    if (typeof params == "string") {
        return paramsStrSort(params);
    } else if (typeof params == "object") {
        var arr = [];
        for (var i in params) {
            arr.push((i + "=" + params[i]));
        }
        return paramsStrSort(arr.join(("&")));
    }
}

function paramsStrSort(paramsStr) {
    var url = paramsStr + "&appKey=" + kAppKey;
    var urlStr = url.split("&").sort().join("&");
    var newUrl = urlStr + '&key=' + kAppSecret;
    return md5(newUrl);
}

调用:

var params = "xid=" + xid + "&type=" + type + "&pageSize=" + pageSize + "&pageNo=" + pageNo;
var sign = getSign(params, kAppKey, kAppSecret);

或:

var paramsObj = { xid: xid, pageSize: pageSize, type: type, pageNo: pageNo };
var sign = getSign(paramsObj, kAppKey, kAppSecret);

kAppKey,kAppSecret为常量,一般由后端定义好!签名加密方法依托MD5!

GitHub地址

Js生成接口请求参数签名加密

标签:tps   div   cti   com   func   java   turn   规则   首字母排序   

原文地址:https://www.cnblogs.com/jone-chen/p/8143285.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!