Skip to content
On this page

🦊 JS生成sign业务案例

我在做公司业务时,遇到需要一些请求参数加密的业务需求,这也是在我们工作中非常常见的业务。以下是常见案例整理,一起看看吧....

我们需要根据请求参数去生成sign(生成规则便是 参数按照升序排序然后拼接成参数串,用串和MD5或者RSA或者AES加密)

  • 具体业务需求需要对如下做删减
javascript
/**
     * @description 生成 sign 的规则函数
     * @description oldData 初始对象
     * @description str 返回的sign
     * @description config 公共配置的文件,AppSec是加密的secret
     * @description newData 返回的新对象,包含原始参数和生成的sign
    */
    getsign(oldData) {
        let signStr = '';
        let newData = {};
        Object.keys(oldData).sort().forEach(function (key) {
            newData[key] = oldData[key];
            if (key.toLowerCase() !== 'sign' && oldData[key] != null && oldData[key] != "" && oldData[
                key] != undefined) {
                signStr += '&' + key + '=' + oldData[key];
                // signStr += key + oldData[key];
            }
        });
        // signStr = signStr.slice(1, signStr.length)  如果串前面有&取消次行代码注释
        newData.sign = md5(config.AppSec + signStr).toUpperCase()
        return newData
    }
  • 好了,以上的总结就到此为止了,如果有疑问可以不问也可以联系作者。咱们下期再见! Good bye! 🌸

Released under the MIT License.