Contributed by
Dominik Müller
in #26175.
在 Symfony 3.4 中我们引入了 Argon2i password hasher,把它作为 Bcrypt hasher 的终结者。如果你使用了 Bcrypt,你可以配置 cost
性能,它定义了加密密码时所需的CPU线程数量。
Argon2i 比 Bcrypt 拥有更多的配置项,这就是为何 Symfony 4.1 引入了若干配置信息选项给 Argon2i hasher:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # config/packages/security.yaml
security:
# ...
encoders:
App\Entity\User:
algorithm: 'argon2i'
# maximum memory (in KiB) that may be used to compute the Argon2 hash
#
memory_cost: 1024
# number of times the Argon2 hash algorithm will be run
#
time_cost: 2
# number of threads to use for computing the Argon2 hash
#
threads: 2 |
密码加密是一个快速演进的领域因此需要持续更新。实际上,有个官方 RFC 说的是在下一PHP版本中 替换掉目前的 Argon2i 算法,引入更新的 Argon2id 变体。多亏了有 Symfony,你可以无视这些争论,而确保自己的程序安全,享受最新的 security 实践。