跨2个不同sql表的唯一哈希值

时间:2017-03-08 13:07:34

标签: sql database security hash passwords

我想存储带有随机盐的哈希密码。在两个不同的sql-tables 中,哈希值应该是唯一的。

salt由随机字符和数字组成,密码和登录名中不允许使用斜杠。

为了确保我想要附加分隔符和唯一登录的唯一性。

示例(伪代码):

 hash(salt + password + “/” + login)    

这个想法是避免在两个不同的表中搜索独特的随机盐。

如果我以这种方式构建存储的哈希,那么安全性会降低吗?

1 个答案:

答案 0 :(得分:0)

听起来我没有使用正确类型的“哈希”函数来“哈希”你的密码,因为如果你是,那么你就不需要问这个问题了。

普通哈希函数(如SHA系列)不适用于保护密码。问题是它们的计算速度太快,这意味着密码可能是强制性的。有关详细信息,请阅读this

你应该使用的是像bcrypt这样的函数(或者如果它不可用,至少使用pbkdf2),它将盐和密码作为输入作为单独的参数输出您存储在数据库中的“哈希”。

我将代表加密和安全社区为这个令人困惑的单词"hash"使用道歉。不幸的是,它似乎不会很快得到修复。