【发布时间】:2014-05-17 13:54:39
【问题描述】:
哪种存储密码的方法更安全?我缺乏自己确定答案的数学背景。
为了争论,我们假设为以下每种方法生成的所有密码和用户名都是随机生成的 6 个已知正好是 6 个 alpha-humeric-special-character 字段的字符,并且每个都使用相同的散列算法和相同的传球次数。
标准方式。用户名以纯文本形式存储,只有密码才能被发现。 Hash(PlaintextPassword + UniqueRecordSalt) = 密码存储在数据库中。
一个字段被识别为 LoginInfo = Hash(Encryption(UserName, Password) + Shared Salt)。用户名和密码都不会以任何其他格式存储。
用户名/密码组合的强制交叉尝试是否抵消了共享盐而不是唯一记录盐的弱点?这当然是完全忽略了对可用性的所有影响,完全专注于安全性。
由于我缺乏密码学和数学知识来自己得出答案,谁能指点我任何软件来帮助我自己回答这个问题?
请随时将其移至更合适的论坛。我不知道还能把它放在哪里。但是,我不认为这是一个与程序员日常工作无关的话题。
【问题讨论】:
-
您是在寻找一种方式哈希还是两种方式意味着使用密钥加密并使用该密钥解密?
-
这个问题似乎是题外话,因为它是关于与存储密码相关的安全性;不是特定的编程问题。
-
@user1096646:正如在下面的答案中所评论的,请查看 security.stackexchange 或 crypto.stackexchange,您会发现此问题之前已解决。
标签: encryption hash passwords