2013-04-20 66 views
0

我正在用Java编写一个银行账户程序来测试MySQL。到目前为止,该程序允许您创建一个具有姓名,密码,用户标识和帐户余额的新成员(每个用户在数据库中占用一行)。你怎么让他们登录,只需输入他们的用户名和密码?谢谢!使用Java获取MySQL数据库中的特定字段

+0

嗨,欢迎来到Stack Overflow!为了让我们更好地帮助您,您需要付出一些努力。显示你如何尝试认证;提供更多详细信息(GUI,控制台,网页等),更重要的是,让它自己一枪,让我们知道什么是*不*工作。 – Jesse 2013-04-21 00:11:53

回答

0

您必须将给定的凭据访问与数据库上的值进行比较。

您可能想要存储哈希密码(含盐!),以防止数据库被盗时出现问题。

盐腌哈希是重要的想法,有哈希函数为MD5那些已经知道是安全的,但如果你这样做

password = "123456" 
salt = "someString" //Anything you want, but it must be the same all the time 
saltedPassword = password + "-" + salt 
hashedSaltedPassword = yourHashFunction(saltedPassword) 

然后,hashedSaltedPassword是安全的,因为如果散列函数打破了攻击者得到的密码将是“123456-someString”,这不是真正的密码。

散列函数领域是非常有趣的,我强烈建议你看看吧,反正通过查看SHA启动功能

在任何情况下,看起来你应该谷歌搜索一点点:)

+0

我正在考虑存储哈希密码,但这只是为了测试目的。我不知道将密码与数据库值进行比较的代码。 – user2303299 2013-04-20 23:57:31

+0

我终于想出了MySQL查询来做到这一点。胡安你会如何去存储哈希密码。 – user2303299 2013-04-21 00:48:26

+0

查看我的更新回答 – 2013-04-21 01:08:31

相关问题