添加系统管理员密码修改,添加md5密码加密

pull/1/head
you 5 years ago
parent 41f0ea05d7
commit 1cfc1b5ef0

@ -66,7 +66,7 @@
<div class="layui-form-item">
<label class="layui-form-label">密码</label>
<div class="layui-input-block">
<input type="password" name="password" value=<%=infoSet.getString("reader") %> placeholder="请输入密码" autocomplete="off" class="layui-input" lay-verify="required">
<input type="password" name="password" value=<%=infoSet.getString("password") %> placeholder="请输入密码" autocomplete="off" class="layui-input" lay-verify="required">
</div>
</div>

@ -28,11 +28,10 @@
<li class="layui-nav-item">
<a href="javascript:;">
<img src="http://t.cn/RCzsdCq" class="layui-nav-img">
贤心
系统管理员
</a>
<dl class="layui-nav-child">
<dd><a href="">基本资料</a></dd>
<dd><a href="">安全设置</a></dd>
<dd id="updatePassword"><a href="javascript:;">修改密码</a></dd>
</dl>
</li>
<li class="layui-nav-item"><a href="./logOut">注销</a></li>
@ -64,14 +63,29 @@
<div class="layui-footer">
<!-- 底部固定区域 -->
© layui.com - 底部固定区域
© 图书管理系统
</div>
</div>
<script>
//JavaScript代码区域
layui.use('element', function(){
var element = layui.element;
layui.use(['element', 'jquery', 'layer'], function(){
$ = layui.jquery;
var element = layui.element
$ = layui.jquery;
var form = layui.form
,layer = layui.layer;
$("#updatePassword").click(function(){
layer.open({
title: '修改密码',
type: 2,
area: ['300px', '300px'],
maxmin: true,
shadeClose: true,
content: 'updatePassword.jsp'
})
})
});
</script>
</body>

@ -39,8 +39,8 @@
,height: 600
,cols: [[
{field:'id', width:80, title: 'ID', sort: true}
,{field:'name', width:80, title: '用户名'}
,{field:'account', width:80, title: '账号', sort: true}
,{field:'name', width:80, title: '姓名'}
,{field:'email', title: '邮箱', minWidth: 150}
,{fixed: 'right', title:'操作', toolbar: '#operateBar', align: 'center', width:150}
]]

@ -0,0 +1,89 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>修改密码</title>
<!-- layui -->
<link rel="stylesheet" href="../public/layui/css/layui.css">
<script src="../public/layui/layui.js"></script>
<style>
.layui-form{
margin: 10px 20px;
}
</style>
</head>
</head>
<body>
<form class="layui-form layui-form-pane" action="" lay-filter="formFilter">
<div class="layui-form-item">
<label class="layui-form-label">旧密码</label>
<div class="layui-input-block">
<input type="password" name="oldPassword" lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">新密码</label>
<div class="layui-input-block">
<input type="password" name="newPassword" lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">确认密码</label>
<div class="layui-input-block">
<input type="password" name="conPassword" lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button type="submit" class="layui-btn" lay-submit="" lay-filter="submitButton">确认修改</button>
</div>
</div>
</form>
<script>
layui.use(['form', 'jquery'], function(){
$ = layui.jquery;
var form = layui.form
,layer = layui.layer
//监听提交
form.on('submit(submitButton)', function(data){
$.ajax({
url: './updatePassword',
method: 'post',
data: data.field,
dataType: 'json',
success: function(data){
if(data.code == "0"){
parent.layer.msg("修改成功",{
icon: 6,
time: 500
});
setTimeout(function(){
var index = parent.layer.getFrameIndex(window.name); //操作父页面
parent.layer.close(index);
}, 500);
}else{
layer.msg(data.msg);
}
}
})
return false;
});
});
</script>
</body>
</html>

@ -35,7 +35,7 @@ public class Admin {
connection = Base.getConnection();
pstmt = (PreparedStatement) connection.prepareStatement(sql);
pstmt.setString(1, username);
pstmt.setString(2, password);
pstmt.setString(2, Util.passMd5(password));
resultSet = pstmt.executeQuery();
try{
if (resultSet.next()) {

@ -1,5 +1,8 @@
package javabean;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import net.sf.json.JSONObject;
@ -40,6 +43,9 @@ public class Util {
return dateFormat.format(date);
}
/*
* json
*/
public static String jsonResponse(int code, String msg, String data) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("code", code);
@ -47,13 +53,36 @@ public class Util {
if( data!=null ) {
jsonObject.put("data", data);
}
return jsonObject.toString();
}
/*
* md5
*/
public static String stringToMD5(String plainText) {
byte[] secretBytes = null;
try {
secretBytes = MessageDigest.getInstance("md5").digest(
plainText.getBytes());
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("没有这个md5算法");
}
String md5code = new BigInteger(1, secretBytes).toString(16);
for (int i = 0; i < 32 - md5code.length(); i++) {
md5code = "0" + md5code;
}
return md5code;
}
public static String passMd5(String password) {
String salt = "ew!.E";
return Util.stringToMD5(password +salt);
}
public static void main(String[] args) {
java.util.Date date = new java.util.Date();
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println(dateFormat.format(date));
System.out.println(Util.passMd5("admin"));
//java.util.Date date = new java.util.Date();
//SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//System.out.println(dateFormat.format(date));
}
}

@ -0,0 +1,98 @@
package servlet.admin;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
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;
import javax.servlet.http.HttpSession;
import javabean.Base;
import javabean.Util;
import net.sf.json.JSONObject;
@WebServlet("/admin/updatePassword")
public class UpdatePassword extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("application/json; charset=utf8");
// 接受数据
String oldPassword = req.getParameter("oldPassword");
String newPassword = req.getParameter("newPassword");
String conPassword = req.getParameter("conPassword");
HttpSession session = req.getSession();
String username = (String) session.getAttribute("admin");
// 准备资源
Connection connection = null;
PreparedStatement pstmt = null;
ResultSet resultSet = null;
int result = 0;
String sql = null;
int count = 0;
// 返回数据
int code = 1;
String msg = "error";
JSONObject json = new JSONObject();
PrintWriter out = resp.getWriter();
// 可靠性
if(conPassword.equals(newPassword)) {
// 查询
try {
connection = Base.getConnection();
// 验证账号密码
sql = "select count(*) as count from admin where username=? and password=?";
pstmt = connection.prepareStatement(sql);
pstmt.setString(1, username);
pstmt.setString(2, Util.passMd5(oldPassword));
resultSet = pstmt.executeQuery();
while(resultSet.next()) {
count = resultSet.getInt("count");
}
// 修改密码
// 密码正确
if(count >= 1) {
sql = "update admin set password=? where username=?";
pstmt = connection.prepareStatement(sql);
pstmt.setString(1, Util.passMd5(newPassword));
pstmt.setString(2, username);
result = pstmt.executeUpdate();
if(result == 1) {
code = 0;
msg = "修改成功";
}else {
msg = "修改失败";
}
}else {
msg = "密码错误";
}
} catch (ClassNotFoundException e) {
msg = "class notfound";
} catch (SQLException e) {
msg = "sql错误";
} finally {
try {
Base.closeResource(connection, pstmt, resultSet);
} catch (SQLException e) {
msg = "关闭失败";
}
}
}else {
msg = "两次密码不一致";
}
out.print(Util.jsonResponse(code, msg, null));
}
}
Loading…
Cancel
Save