Passwords 多密码散列

Passwords 多密码散列,passwords,hash,Passwords,Hash,我目前正在开发一个需要高度安全性的Web应用程序,我一直在考虑密码处理。我应该使用一个哈希密码,加上足够大的salt,这是一个已知的事实,但是使用不同的salt或不同的算法多次哈希密码会有好处吗 我不是说你应该多次散列密码来生成你的密码散列,比如hash(hash(salt+psw))=pswhash,而是我在考虑使用hash(hash(salt1+psw))=pswhash1和hash(hash(salt2+psw))=pswhash2,然后在登录时将两者进行比较。 使用此例程,攻击者不仅必须

我目前正在开发一个需要高度安全性的Web应用程序,我一直在考虑密码处理。我应该使用一个哈希密码,加上足够大的salt,这是一个已知的事实,但是使用不同的salt或不同的算法多次哈希密码会有好处吗

我不是说你应该多次散列密码来生成你的密码散列,比如
hash(hash(salt+psw))=pswhash
,而是我在考虑使用
hash(hash(salt1+psw))=pswhash1
hash(hash(salt2+psw))=pswhash2
,然后在登录时将两者进行比较。 使用此例程,攻击者不仅必须找到一个生成pswhash的密码,还必须找到一个必须正确生成两个哈希的密码。这样,冲突的可能性几乎为零,但攻击者可以使用第二个哈希来确定第一个哈希中的密码是否正确

有关应用程序的其他信息:
该应用程序主要是我们公司的内部应用程序。所有的连接都是用https处理的,所有的用户名对于这个应用程序都是唯一的(因此你不能选择你的用户名),所有的密码对于这个应用程序都是唯一的(随机生成的,你不能选择它们)。我们主要担心的是,在我们做出反应之前,有人获得了对系统的未经授权访问。如果我们有时间做出反应,“他们”可以找到准确的密码,这并不是什么大不了的事。

你应该多次散列一个密码,足够占用一秒钟的时间。这使得能够访问您的数据库的黑客不可能单独破解密码,因为所需的处理能力呈指数级增长


我认为用多种盐类散列基本上是另一种重新散列的方法,而且是通过模糊实现的安全性,而不是这样做,我只会坚持重新散列。

使用一种久经考验的技术——例如,——而不是尝试使用自己的方法。

谢谢,但我不是在尝试创建自己的密码或KDF。我只是想知道我是否可以从哈希/密码的多种方式中受益,并使双(或更多)comparisons@Lobo:我的观点是,使用PBKDF2等已建立的技术将比您提出的方法更简单(可能)更安全。我不是在讨论重新灰化问题。我正在考虑冲突风险(尽管很小),以及比较多个哈希以避免冲突是否有好处或风险。关于程序员的这个问题的答案详细介绍了利弊: