据我了解,生成盐的最佳做法是使用源代码中存储的一些神秘公式(甚至魔术常量).
我正在研究一个我们打算作为开源发布的项目,但问题是源代码是生成盐的秘密公式,因此能够在我们的网站上运行彩虹表攻击.
我认为很多人在我面前都考虑过这个问题,我想知道最佳做法是什么.在我看来,如果代码是开源的话,根本就没有盐,因为盐可以很容易地进行逆向工程.
思考?
PASSWORD_DEFAULT和PASSWORD_BCRYPT有什么区别?他们都使用Blowfish加密算法吗?算法的成本是多少?如何在PHP中设置password_hash产生255哈希长度而不是60?