zoukankan      html  css  js  c++  java
  • 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();
    }
    

      

  • 相关阅读:
    [leetcode]Valid Number
    [leetcode]Edit Distance
    [leetcode]Decode Ways
    [leetcode]Maximum Depth of Binary Tree
    [topcoder]BadNeighbors
    [topcoder]ZigZag
    [leetcode]Subsets II
    [leetcode]Merge Sorted Array
    [leetcode]Binary Tree Maximum Path Sum
    hdu 2964 Prime Bases(简单数学题)
  • 原文地址:https://www.cnblogs.com/fatetop/p/14304200.html
Copyright © 2011-2022 走看看