【问题标题】:Is using a CreateUUID() function as salt a good idea?使用 CreateUUID() 函数作为盐是个好主意吗?
【发布时间】:2011-04-05 12:37:38
【问题描述】:

我正在使用coldfusion,我想为我的密码生成一个随机盐字段。我想知道 CreateUUID() 函数在这里是否有用。我发现了许多使用单独函数创建盐字符串的示例;但是当您可以使用 rand() 或 CreateUUID() 函数时,为什么要这样做呢?我不确定。

这是一个矫枉过正还是个好主意?或者我应该使用 rand() 还是时间戳?

【问题讨论】:

标签: uuid password-protection salt


【解决方案1】:

不是一个好主意 - CreateUUID 保证唯一性,而不是随机性;如果您对 CreateUUID 进行了统计分析,它很可能不会是一个被认为对密码学来说足够随机的分布,因为它没有明确地以这种方式设计。

例如,CreateUUID 的前 n 个字节是您的 MAC 地址 - 即,每个盐都相同。通过这样做,您显着降低了盐的熵量,从而使它们更容易破解。如果可能,请使用库来处理整个身份验证场景,如果没有,请使用真正的 rand() 函数。

【讨论】:

  • 我不确定你所说的任何内容都会证明 UUID 是一种坏盐。盐的唯一性实际上比随机性更重要。盐的全部意义在于防止彩虹表被黑客入侵。
  • @Kip 如果您可以预测新用户(或现有用户)的盐分,您可以显着降低您必须暴力破解的关键空间。太糟糕了™
猜你喜欢
  • 1970-01-01
  • 2017-12-18
  • 2015-06-04
  • 1970-01-01
  • 1970-01-01
  • 2012-12-01
  • 2010-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多