2

这是一个关于需要散列的盐渍短语的问题。

我想知道将盐前缀到短语或后缀是否更安全?盐 + 词组或词组 + 盐

我的问题来自对MD5s上这篇文章的评论。我不确定我是否理解作者评论背后的原因。

4

5 回答 5

4

盐是加在前面还是后面没有区别。

尽管以下因素会影响安全性

  1. 你的盐是私人的(如果是的话,它有多私人?)。越私密越好。这意味着,如果您可以避免将盐存储在您的数据库中,即使您的数据库受到破坏,您也可以使您的系统免受暴力攻击。
  2. 你的盐是随机的吗?如果说您的数据库受到损害并且您的盐存储在数据库中,这有助于防御彩虹表攻击。注意:如果存储的密码足够长,它们可以免受暴力攻击。
  3. 你的盐够长吗?你的盐越长,你就越安全。
于 2009-05-13T03:34:54.203 回答
1

什么时候消化盐并不重要:前缀、后缀、中缀都会产生不同的散列,但达到击败彩虹表或其他预散列字典攻击的相同目的。

我认为该评论与 MD5 中的漏洞有关,而不是一般的散列。我不明白细节,但它与找到两个产生相同哈希的前缀有关。

于 2009-05-13T03:50:05.327 回答
1

当有人对盐的使用有疑问时,我担心这是因为他们正忙于(重新)发明他们一开始就不应该做的事情。基于这个问题,我的建议是使用 HMAC。

于 2009-05-13T03:53:47.893 回答
0

不像其他人说的,这很重要!和@einstein,如果你关心使用HMAC.

为什么前缀不好,因为可以计算校验和的中间状态,直到给定的固定盐前缀。然后开始并行计算其余部分。总之phrase+salt比 更安全salt+phrase,但HMAC(salt, phrase)甚至更好。

相关阅读

于 2019-02-25T13:38:13.617 回答
-2

从技术上讲,这并不重要,只要盐是独特的并且不容易猜到。只是不要像我一样犯下储存盐的错误。

对字符串“加盐”的目的是以一种比 MD5 散列更加个性化和独特的方式对其进行加扰。没有正确或错误的方法,只要你是唯一知道它是如何工作的人。无论哪种方式都会达到结果,即使生成的MD5哈希与彩虹表对应,以便于破解密码。

于 2009-05-13T03:42:27.963 回答