使用CreateUUID()函数作为盐是个好主意吗?

Moh*_*mad 8 uuid salt password-protection

我正在使用coldfusion,我想为我的密码生成一个随机盐场.我想知道CreateUUID()函数在这里是否有用.我发现了许多使用单独函数创建盐串的例子; 但是为什么要使用rand()或CreateUUID()函数呢?我不确定.

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

Ana*_*tts 8

不是一个好主意 - CreateUUID保证唯一性,而不是随机性 ; 如果您对CreateUUID进行了统计分析,那么它很可能不会被认为是加密的随机分布,因为它没有明确地设计.

例如,CreateUUID 的前n个字节是您的MAC地址 - 即每个盐总是相同的.通过这样做,您可以显着减少盐的熵量,从而使它们更容易破裂.如果可能的话,使用库来处理整个身份验证方案,如果没有,则使用真正的rand()函数.

  • 我不确定你所说的任何事情都会让UUID成为一个糟糕的盐.盐的独特性实际上比随机性更重要.盐的全部意义是防止彩虹表黑客攻击. (3认同)
  • @Kip如果您可以为新用户(或现有用户)预测盐,则可以显着降低您对暴力的关键空间.那是坏事 (3认同)