Symfony 3.4 + FOSUserBundle 2中用户表salt字段为空是否正常?
关于FOSUserBundle 2中salt字段为空的问题解答
这种情况是完全正常的,完全不用担忧!
原因就出在你配置的加密算法是bcrypt:
- bcrypt算法的设计逻辑里,会自动生成随机盐值,并且把盐值、算法版本、迭代次数等信息直接嵌入到最终生成的密码哈希字符串中,根本不需要单独存在
salt字段里 - FOSUserBundle 2在使用bcrypt作为加密器时,会自动跳过对
salt字段的赋值操作,所以数据库里这个字段为空是完全符合预期的行为
再补充几个关键点帮你确认:
- 你通过
fos:user:create命令创建的用户,系统已经正确生成了包含盐值的bcrypt哈希密码,后续用户登录验证时,系统会自动从哈希字符串里提取盐值完成校验,完全不影响登录功能 - 要是你换成其他加密算法(比如
sha512),那才需要单独存储盐值,此时salt字段才会有内容
内容的提问来源于stack exchange,提问作者Paolito75
相关产品推荐
相关产品推荐

