别的不扯,直接上干货!
所需文件:
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了!