我正在编写一个程序, 其中的一部分涉及安全地创建密码散列以存储在数据库中。我发现 phpass 框架似乎得到了高度推荐。在 phpass 中,它们似乎非常努力地生成尽可能真正随机的盐用于哈希(例如从 /dev/urandom 读取)。
我的问题是,这样做有什么好处呢,与简单地使用
编辑:我的问题并不是关于计算机环境中是否存在“真正”的随机性,所以也许我表达不够准确,然而我的问题更多的是关于“更”随机的盐是否比更唯一的盐有任何优势。
我的问题是,这样做有什么好处呢,与简单地使用
uniqid()
相比呢?点不是确保用于哈希的盐互不相同而不是随机吗?使用真正随机的盐是否实际上比使用唯一的盐更糟糕,因为它可能会产生碰撞,而 uniqid() 则不会?编辑:我的问题并不是关于计算机环境中是否存在“真正”的随机性,所以也许我表达不够准确,然而我的问题更多的是关于“更”随机的盐是否比更唯一的盐有任何优势。