vue md5加密验签

一.使用md5加密

1.安装依赖 npm install md5

2.main.js引入 import md5 from 'js-md5'

Vue.prototype.$md5 = md5;

3.使用方法

let data = this.$md5(this.password) 这样传给接口就行

二.新建utils.js来注册全局方法;如获取url参数值getUrlKey;字符串&隔开按字母排序jsonSort;

export default{

    getUrlKey:function(name){//name为参数名,得到参数值

        return decodeURIComponent((new RegExp('[?|&]'+name+'='+'([^&;]+?)(&|#|;|$)').exec(location.href)||[,""])[1].replace(/\+/g,'%20'))||null;

    },

//最近有个需求需要把json按key值进行排序abc...,可是js并没有直接的函数可以对json进行排序的这么办呢?

//然后想到了一个间接的方法来实现:

//1、将json中的key值取出,存在一个数组中,然后对这个数组排序。

//2、循环存放key的数组,根据key的索引取出json中的值,然后拼接上。

    jsonSort:function (jsonObj) {

        let arr=[];

        for(var key in jsonObj){

            arr.push(key)

        }

        arr.sort();

        let str='';

        for(var i in arr){

          str +=arr[i]+"="+jsonObj[arr[i]]+"&"

        }

        return str.substr(0,str.length-1)

    },

}

2.import utils from './utils' //获取url参数

Vue.prototype.$utils = utils //注册全局方法

3.使用

loadData(reid,tk) {

      var that=this;

      let datasms = {

        token: tk,

        registration:reid,

      }

      let datajson = this.$utils.jsonSort(datasms)+'&xtype';//jsonSort方法是按第一个字母abc...排列

      let sign = this.$md5(datajson)

      datasms['sign'] = sign;

      axios.post('/member/xxx', qs.stringify(datasms))

      .then (function(res) {

          if(res.data.code == 1000){

            that.datas = res.data.data;

          }

      })

    },

你可能感兴趣的:(vue md5加密验签)