直接给出实例:
<%@ page language="java" pageEncoding="gb2312" %>
<!-- 导入struts2标签库 -->
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>用户登录</title>
<script type="text/javascript" src="js/md5.js"></script>
<script>
function md5(){
var hash=hex_md5(document.getElementById("pwd").value);
document.getElementById("pwd").value=hash;
}
</script>
</head>
<body>
<div id="Login" align="center">
<s:form name="frm" action="LoginAction">
<s:textfield label="用户名" name="name"></s:textfield>
<s:password label="密码" id="pwd" name="pwd"></s:password>
<s:submit value="登录" onclick="md5();"></s:submit>
</s:form>
</div>
</body>
</html>
提交的pwd就是经过MD5加密过后的32位大写密文。
采用javascript给特定数值加密,可以减轻服务器端的任务。
使用思路:假若明文为pwd,数据库中存放加密过的pwd,记为pwd1,当用户输入pwd2时,将用户给的pwd2进行MD5加密,密文为pwd3,然后用pwd3与pwd1直接进行比较,不要尝试解密pwd1,浪费资源。