java - 用户验证密码检查数据库

标签 java mysql database authentication jdbc

我正在开发一个需要用户进行身份验证的应用程序。我通过拥有一个包含配置文件表并在表内包含用户名和密码的数据库来做到这一点。我打算让用户输入他们的用户名和密码,然后将他们给定的数据与数据库中的数据进行比较。如果它们相同,那么它们就会登录。这是正确的方法吗?

如果这是正确的方法,我如何将用户给定的密码与数据库中的密码进行比较?数据库中的密码是使用PASSWORD函数加密的。

谢谢!

最佳答案

您可以使用 AES_ENCRYPT()、AES_DECRYPT() 函数来实现此目的。这是我建议的方式。在您的程序中,您保留一个存储加密 key 的常量全局变量。

所以你可以像这样比较密码。

从配置文件中选择 User_ID,其中 profile.userID= ' + userID + ' AND profile.password = AES_ENCRYPT(' + Givepassword + ','"+ USER_ENCRYPTION_KEY + "')

希望这对您有帮助。

普拉萨德。

关于java - 用户验证密码检查数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7734340/

相关文章:

java - java Swing 中的锚定和停靠控件

java - 如何编写 Java 守护进程

mysql - SQL查询通过根据记录存在和一个条件更新/插入记录来返回真/假

mysql - Ubuntu : SQL time is not the same as current OS timezone

sql - 改变表然后更新

java - 如何在 Scala Play 框架内比较表单上的日期/时间?

java - schemagen:如何共享类,但不共享它们的 namespace ?

php - 尝试插入时出现 SQL 语法错误

mysql - 如何为 wiki 系列建立数据库?

ruby-on-rails - 错误无法启动 Neo Server