js实现排序签名
⼯作中应三⽅爸爸要求需要签名加密
记录常⽤的签名⽅式
流程:
1.第⼀步
设签名加密的数据为集合M,将集合M内⾮空参数值的参数按照参数名ASCII码从⼩到⼤排序(字典序),使⽤URL键值对的格式(即
key1=value1&key2=value2…)拼接成字符串stringA。
2.第⼆步
在stringA最后拼接上secretKey得到stringSignTemp字符串,并对stringSignTemp进⾏MD5运算,再将得到的字符串所有字符转换为⼤写,得到sign值。
具体实现
import md5 from 'md5';
genSignParams(secretKey, inObject) {
var sorter = function (inObject) {
var sortedJson = {};
var sortedKeys = Object.keys(inObject).sort();
for (var i = 0; i < sortedKeys.length; i++) {
sortedJson[sortedKeys[i]] = inObject[sortedKeys[i]]
}
return sortedJson;
}
var sortedParam = sorter(inObject);
var needSignatureStr = "";
for (var key in sortedParam) {
var value = sortedParam[key];
needSignatureStr = needSignatureStr + key + '=' + value + '&';
签名字符串是什么}
needSignatureStr += 'secretKey=' + secretKey;
return md5(needSignatureStr).toUpperCase();
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。