在DB中存储一个大Hash而不是User / Pass

时间:2015-11-06 01:45:37

标签: sql database security hash

通常,密码是使用单向算法存储的,因此很难从中发现纯文本。 但我一直在想:如果我将用户名和密码的SHA512存储在一起(A + B = SHA512),而不是分别用户名和密码哈希,那该怎么办? 这种方法安全吗?

编辑:在我看来,用户名'盐'密码,所以两次没有相等的哈希......

2 个答案:

答案 0 :(得分:2)

(1)你应该使用像bcrypt,scrypt或pbkdf2这样的东西,而不是像SHAwhatever那样用于密码处理。谷歌这个。

(2)您如何处理忘记密码的情况?

(3)请参阅我的博客,特别是“一个简单示例:保护电子邮件地址”部分:https://littlemaninmyhead.wordpress.com/2015/09/08/a-retrospective-on-ashely-madison-and-the-value-of-threat-modeling/

答案 1 :(得分:0)

当然可以。但是你想要检索一个用户名列表吗?

在我编写的身份验证实现中,我使用用户名作为salt的一部分。结合全站点的盐加上一些恒定的盐最终会为每个用户名创建大约120位的盐。