别的不扯,直接上干货!

所需文件:

1.下载jquery     2.下载md5.js

第一步,当然实现引入js资源文件,jquery在前,md5.js在后

<script type="text/javascript" src="../js/plugins/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="../js/md5.js"></script>

第二步,如果被加密数据是一个字符串,可直接调用$.md5()函数

$.md5("这里是需要加密的字符串数据");   //直接返回加密串

如果被加密的是一个json对象,则需要先把json的各键值对拼接为字符串,拼接规则需要与后台协同,这里以k=v&k=v为例。

另外需要注意的是,拼接时各键值对的先后顺序务必和后台约定好,一般会以键的自然排序来先后排列。这样一来,在我们前端拼接json键值对前,还需要先把json按各属性的key进行自然排序。

var param={"name":"啊","age":"0","sex":"男"}; //被加密的json数据
var token="123456";  //用户的秘钥,一般在进行md5加密时,每个应用都会有一个秘钥,没有的可以不传
var strMD5=md5Encry(param,token);  //执行后,返回加密串


/**
 * md5加密   在调用此方法之前需要引入 md5.js
 * @param param  参数对象
 * @param token  秘钥
 * @returns
 */
var md5Encry=function(param,token){
	var str="";

	//1.先对key进行自然排序
	var temp=[];
	for(var i in param){
		temp.push(i);
	}
	temp.sort();

	//2.再按key的自然顺序  拼接加密字符串
	$.each(temp,function(index,item){
        //没有value的key不参与拼接及加密(此规则可与后台自行约定)
		if(param[item]||typeof param[item]=="number" ){
			str=str+item+"="+param[item]+"&";
		}
	});
	str=str+"key="+token;
	return $.md5(str);
}

第三步,生成了加密串的码友可以点击这里进行校验加密结果。

好了,咱们前端的事md5加密,到此就over了!