前台js
先写一个加密方法
function Base64() {
// private property
_keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
// public method for encoding
this.encode = function (input) {
var output = "";
var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
var i = 0;
input = _utf8_encode(input);
while (i < input.length) {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
output = output +
_keyStr.charAt(enc1) + _keyStr.charAt(enc2) +
_keyStr.charAt(enc3) + _keyStr.charAt(enc4);
}
return output;
}
}
调用加密方法
function login(form){
//获取表单数据
var form1 = document.getElementById("login_form);
var name = $('#name').val();
var pwd = $('#pwd').val();
//调用上面写的Base64()方法
var base = new Base64();
var result = base.encode(pwd);
alert(result);//测试一下是否加密成功
//这边可以写一些前台的逻辑判断(省略)
var params = {};
var datas = $('#login_form').form('getValues');
//将上面加密后的密码赋值给datas里的pwd
datas.pwd = result;
datas.json_where = datas;
document.getElementById("param").value = JSON.stringify(params);
$('#login_form').form('submit',{
type: "post",
data: {"param":JSON.stringify.(params)},
url://链接到后台,
dataType:"json",
onSubmit: function(param){
return true;
},
success:function(data){
var resultdata =JSON.parse(data);
//跳转页面
},
error:function(){
//给出提示信息
}
});
}
后台java程序
public JSONObject userLogin(JSONObject jsonObject) throws Exception{
//获取前台传递到后台的数据
JSONObject obj = (JSONObject)jsonObject.get("json_where");
String u_name = (String)obj.get("name");
String u_pwd = (String)obj.get("pwd");
//解密方法
BASE64Decoder decoder = new BASE64Decoder();
u_pwd = new String(decoder.decodeBuffer(u_pwd));
}