我目前正在编写一个程序,其中一部分涉及安全地创建密码哈希以存储在数据库中,我遇到了phpass框架,这似乎是强烈推荐的。在 phpass 中,他们似乎竭尽全力生成尽可能真正随机的盐以用于散列(例如,从 /dev/urandom 读取)。
我的问题是,与简单地使用相比,这样做有什么好处uniqid()
?这难道不是简单地确保用于哈希的盐彼此不同而不是随机的吗?使用真正随机的盐实际上不会比使用独特的盐更糟糕,因为它可能会产生冲突而 uniqid() 不会?
编辑:我的问题不是关于计算机环境中是否存在“真正的”随机性,所以也许我措辞有点错误,但我的问题更多的是“更多”随机盐是否比更多唯一性有任何好处作为盐。