是的,你应该总是使用盐.幸运的是,PHP非常聪明.从这篇文章:
如果您使用
password_hash()函数的默认选项,PHP将为每个密码生成随机盐,因为它是经过哈希处理的.随机盐是一个额外的安全层,这使得破解任何密码变得异常困难.即使两个或更多用户使用相同的密码,他们的每个哈希都会有所不同.
这使您远离必须生成盐并将繁重的工作留给PHP.验证片password_verify()使用散列中的随机盐来测试给定的密码.
来自以下文档password_verify():
请注意,
password_hash()返回算法,成本和salt作为返回哈希的一部分.因此,验证哈希所需的所有信息都包含在其中.这允许验证功能验证散列,而无需为盐或算法信息单独存储.