一般对于用户登录的密码,在网络传输的过程中,不会使用明文传送,此处介绍一种简单的加密用户密码信息的方法:Base64加密解密。
在前台JS中使用Base64进行加密信息,在后台Java中使用Base64解密类进行解密,实现如下:
首先需要一个Base64加密工具js文件,可以在小唐岳阳上传的资源中下载:myBase64.js
然后在JavaScript中加密代码:
var myBase64 = new Base64();
var passWord= $("#passWord").val();
var enCodePwd= myBase64.encode(passWord);
…(send to server)
最后在服务端接收并解密字符串代码:
String passWord= ESBSecurityUtil.base64Decode(request.getParameter("passWord"));// 解密界面传过来的密码
/**
* Base64解码
* @param text
* @return
*/
public static String base64Decode(String text){
byte[] result = null;
try {
result = new BASE64Decoder().decodeBuffer(text);
} catch (IOException e) {
e.printStackTrace();
result = null;
}
return new String(result);
}
注:这是一种很简单很简单的方式,通用的是在后台接收到加密字符串后,使用MD5摘要算法,把摘要存入数据库,而不是存密码入库,这种方式不可逆向恢复密码,用户每次登录时,对输入的密码使用MD5处理,看结果与保存在数据库中的是否一致。