10

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

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

4

1 回答 1

10

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

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

于 2010-08-29T21:22:51.820 回答