MD5保存密码方案代码

来源:互联网 发布:淘宝美工可以兼职吗 编辑:程序博客网 时间:2024/06/07 07:13

关于代码的解释文章见

http://blog.csdn.net/idealemail/article/details/51519800

package test1;import java.io.IOException;import java.sql.ResultSet;import java.sql.SQLException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@WebServlet("/ControlServlet")public class ControlServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 提取各种参数String type = request.getParameter("type");String md5 = request.getParameter("md5");String userName = request.getParameter("userName");String passwd = request.getParameter("passwd");String id = request.getParameter("id");if ("UserAddInfo".equals(type)) {if (pwdCheck(passwd) == false) {request.setAttribute("err", "密码必须6-12位,包括大写字母,小写字母和数字,");request.getRequestDispatcher("/AddUsers").forward(request, response);return;}if ("md5".equals(md5)) {passwd = MD5Test.getMD5(passwd);}String sql = "insert into users set username=?,passwd=?;";String[] parameters = { userName, passwd };SqlHelper.executeUpdate(sql, parameters);request.setAttribute("err", "注册成功");request.getRequestDispatcher("/OK").forward(request, response);return;} else if ("login".equals(type)) {if (pwdCheck(passwd) == false) {request.setAttribute("err", "密码必须6-12位,包括大写字母,小写字母和数字");request.getRequestDispatcher("/login").forward(request, response);return;}if ("md5".equals(md5)) {passwd = MD5Test.getMD5(passwd);}String sql = "select * from users where id=? and passwd=?;";String[] parameters = { id, passwd };System.out.println();ResultSet rs = SqlHelper.executeQuery(sql, parameters);try {if (rs.next()) {System.out.println(rs.getString(1));request.setAttribute("err", "登陆成功");request.getRequestDispatcher("/OK").forward(request, response);return;} else {System.out.println("账号密码错误");request.setAttribute("err", "用户名或密码错误");request.getRequestDispatcher("/login").forward(request, response);}} catch (SQLException e) {e.printStackTrace();}}}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}private boolean pwdCheck(String pwd) {boolean containLowercase = false;boolean containUppercase = false;boolean containDigit = false;if (pwd.length() < 6 || pwd.length() > 12)return false;char[] pwdArray = pwd.toCharArray();for (char c : pwdArray) {if (c > 47 && c < 58)containDigit = true;if (c < 123 && c > 96)containLowercase = true;if (c < 91 && c > 64)containUppercase = true;}return containLowercase && containDigit && containUppercase;}}



0 0