Hash 散列多个值-最安全的方法?

Hash 散列多个值-最安全的方法?,hash,salt,Hash,Salt,在一个需要2个“密码”才能访问特定函数的应用程序中(无论出于何种原因),salt是大的随机字符串。获取最终哈希值以存储的最佳方式是什么?(不一定是上述第1项) 外部/最终散列算法与内部散列算法是否“更好” 旁白:salt主要是为了让短而蹩脚的用户pw更安全地免受暴力攻击吗?因此,如果pw很大(比如图像文件的字节数组),salt会增加任何真正的用途吗?谢谢。假设&表示串联,最安全的方法是: hash(value1 & value2 & salt) hash(hash(value1

在一个需要2个“密码”才能访问特定函数的应用程序中(无论出于何种原因),salt是大的随机字符串。获取最终哈希值以存储的最佳方式是什么?(不一定是上述第1项)

外部/最终散列算法与内部散列算法是否“更好”


旁白:salt主要是为了让短而蹩脚的用户pw更安全地免受暴力攻击吗?因此,如果pw很大(比如图像文件的字节数组),salt会增加任何真正的用途吗?谢谢。

假设
&
表示串联,最安全的方法是:

hash(value1 & value2 & salt)
hash(hash(value1 & value2) & salt)
hash(hash(value1 & value2) & hash(salt))
hash(hash(value1 & salt) & hash(value2 & salt))
hash(hash(value1 & salt1) & hash(value2 & salt2))
hash(value1 & salt1 &value2 & salt2)
hash(value1 & salt1) and hash(value2 & salt2)  '2 separate hashes for each input
…其中,
delim
是不能出现在任何其他字符串中的分隔符。value1、value2和salt出现在哪个顺序并不重要


delimeter可防止混叠,例如,
(value1,value2)=('fail',stone')
vs
(value1,value2)=('fails',tone')
在这种情况下是什么意思?是串联吗?谢谢。我也读过这篇文章
hash(value1 & delim & value2 & delim & salt)