直接给出实例:

<%@ 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,浪费资源。