
1. 显示一个表单页面让用户输入当前密码和新密码。
2. 将用户输入的当前密码与数据库中存储的密码进行比对,判断是否匹配。
3. 如果当前密码匹配,则将新密码加密后存储到数据库中。
4. 如果当前密码不匹配,则提示用户输入错误,并返回表单页面。
下面是一个简单的示例代码,帮助你了解如何使用Java实现一个修改密码的项目:
```java
import java.sql.*
public class ChangePassword {
public static void main(String[] args) {
String dbUrl = "jdbc:mysql://localhost:3306/mydb"
String dbUser = "root"
String dbPassword = "123456"
// 获取用户输入的当前密码和新密码
String currentPwd = "123456" // 模拟用户输入
String newPwd = "654321" // 模拟用户输入
try {
// 连接数据库
Connection conn = DriverManager.getConnection(dbUrl, dbUser, dbPassword)
// 查询数据库中存储的密码
Statement stmt = conn.createStatement()
String query = "SELECT password FROM users WHERE username='myusername'"
ResultSet rs = stmt.executeQuery(query)
if (rs.next()) {
// 判断当前密码是否匹配
String storedPwd = rs.getString("password")
if (currentPwd.equals(storedPwd)) {
// 加密新密码并存储到数据库中
String encryptedPwd = encrypt(newPwd) // 假设encrypt()方法已实现
String update = "UPDATE users SET password='" + encryptedPwd + "' WHERE username='myusername'"
stmt.executeUpdate(update)
System.out.println("密码修改成功!")
} else {
System.out.println("当前密码输入错误,请重新输入!")
}
}
// 关闭连接
rs.close()
stmt.close()
conn.close()
} catch (SQLException e) {
e.printStackTrace()
}
}
}
```
在上述代码中,我们首先定义了数据库连接信息,然后获取用户输入的当前密码和新密码。接着,使用JDBC API连接数据库,查询指定用户的密码。如果当前密码正确,则使用encrypt()方法加密新密码,并将其更新到数据库中;否则提示用户输入错误。最后,关闭连接。
该示例为简化版代码,实际应用中可能还需要增加一些安全措施,例如防止SQL注入攻击、限制密码长度、强制使用复杂密码等。
你要想让程序记住你的修改结果是不可能的,应为你只要退出这个程序,所有的变量都就被清理了。当你再次重新运行程序时,所有的变量又被从新初始化赋值。你要想验证你的密码是不是被修改就得找那个保存文件的代码。将你的修改结果保存起来。要不然你是看不到结果的。。或者你就把你的那些写入到数据库中。然后在查询数据库。你要是想修改本程序的。你这个程序中的密码是123.、那你就弄个输入程序。然后这个123替换掉不就行了嘛。if (name1.equals("xiaoming") &&pwd1.equals("123")) 。如果你是想让显示出来。当完成String p = scan.next()这句后,你把p的值就得到了。打印出来就可以了啊
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)