代码之家  ›  专栏  ›  技术社区  ›  Raj Rao

密码和密码-前缀或后缀

  •  2
  • Raj Rao  · 技术社区  · 16 年前

    我想知道在词组前面加上salt是更安全还是在词尾加上salt更安全? 盐+短语或

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

    4 回复  |  直到 16 年前
        1
  •  4
  •   Sam Saffron James Allen    16 年前

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

    但以下因素将影响安全性

    1. 你的盐是私人的吗(如果是的话,有多私人?)。越私人越好。这意味着,如果您可以避免将盐存储在数据库中,那么即使您的数据库受损,您也可以使您的系统安全地抵御暴力攻击。
    2. 你的盐够长吗?盐放得越久,你就越安全。
        2
  •  1
  •   erickson    16 年前

    当您消化salt时,这并不重要:前缀、后缀、中缀都会产生不同的散列,但达到了击败rainbow表或其他预散列字典攻击的相同目的。

    我认为该评论与MD5中的漏洞有关,而不是一般的散列。我不明白细节,但它 has to do with finding two prefixes that produce the same hash.

        3
  •  1
  •   Einstein    16 年前

    当有人对盐的使用有疑问时,我担心这是因为他们正忙于(重新)发明他们根本不应该在第一位的东西。基于这个问题,我建议使用HMAC。

        4
  •  0
  •   Muayyad Alsadi    6 年前

    不像其他人说的,这很重要!如果你愿意的话,可以用“爱因斯坦”这个词 HMAC .

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

    related reading

        5
  •  -2
  •   Blank    16 年前

    从技术上讲,这并不重要,只要盐是独特的,不容易猜测。只是不要像我那样错误地储存盐。

    “腌制”字符串的目的是以一种比MD5哈希更个人化、更独特的方式对其进行置乱。做这件事没有对错之分,只要你是唯一知道它如何运作的人。它将以任何一种方式实现结果,即生成MD5哈希