0

我正在用 Java 制作一个银行账户程序来测试 MySQL。到目前为止,该程序允许您创建一个具有名字和姓氏、密码、用户 ID 和帐户余额的新成员(每个用户占用数据库中的一行)。您如何让他们仅通过输入他们的用户名和密码来登录?谢谢!

4

1 回答 1

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 函数开始

无论如何,看起来你应该搜索一下谷歌:)

于 2013-04-20T23:56:37.813 回答