怎样用java自行完成修改密码的项目?

怎样用java自行完成修改密码的项目?,第1张

要开发一个Java的修改密码项目,涉及以下几个步骤:

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的值就得到了。打印出来就可以了啊


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8145482.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存