Symfony 4.3 弃用了 bcrypt 算法,参见UPGRADE-4.3.md:
使用 argon2i 或 bcrypt 作为算法配置编码器已被弃用,请改用 auto。
所以我将 security.yaml 更改为:
encoders:
App\Entity\User:
algorithm: auto
问题是,更改为自动后,散列字符串更长:
'INSERT INTO users (..., password, ...) VALUES (...)' with params [..., "$argon2id$v=19$m=65536,t=6,p=1$d2RhZjVuaWJsSnE0TW5haA $ycOn7EHjPOoBTSa6SHDOBWL2AvwfPNjAstlSTEMmPpU", ...]:
SQLSTATE [22001]:字符串数据,右截断:1406 第 1 行的列“密码”数据太长
这个字符串有 97 个字符长,而我的密码列是 64。我没有找到任何关于“auto”属性的最大可能长度的文档,是 97 吗?或者可以更多?