新在Symfo欧宝娱乐app下载地址ny 5.3: PasswordHasher组件
警告:这篇文章是关于一个不受支持的Symfony的版本。欧宝娱乐app下载地址其中一些信息可能是过时了。阅读最近的Symfony文档欧宝娱乐app下载地址。
哈希密码应用的过程加密哈希函数最初的纯文本密码转换成不同的non-guessable价值是不可行的转化。
由于历史原因,Symfony使用术语“密码编码”欧宝娱乐app下载地址应该是指“密码散列”。这对人们学习Symfony已经引起了一些混乱,所以我们决定一劳永逸地解决这个问题在Symfony 5.欧宝娱乐app下载地址3。
这就是为什么在Symfony欧宝娱乐app下载地址 5.3我们介绍一个叫做PasswordHasher新组件。这个组件提取相关的所有现有代码和功能“密码编码”和重命名“密码散列”。所有的“编码”功能是弃用Symfony 5.3,将被删除欧宝娱乐app下载地址欧宝娱乐app下载地址Symfony 6.0。
API的新厨师类似于前一个,稍微接近PHP内置的密码哈希API:
1 2 3 4 5 6 7 8 9 10
名称空间欧宝娱乐app下载地址\组件\PasswordHasher;接口PasswordHasherInterface{公共函数哈希(字符串美元plainPassword):字符串;公共函数验证(字符串美元hashedPassword、字符串美元plainPassword):bool;公共函数needsRehash(字符串美元hashedPassword):bool;}
这个新组件可以独立于使用Symfony的特性在任何PHP应用程序的其余部分。欧宝娱乐app下载地址对于现有的Symfony应欧宝娱乐app下载地址用程序,包括新组件时自动安装/更新安全包,所以你不需要做任何改变你的依赖关系。
在您的应用程序代码将影响低,但是你可能需要做一些微小的变化。例如,安全:encode-password
命令现在被称为安全:hash-password
。的security.password_encoder
服务是现在被称为security.password_hasher
,UserPasswordEncoderInterface
现在是UserPasswordHasherInterface
等。
主要改变将在安全配置,需要更换编码器
通过password_hashers
:
1 2 3 4 5
#配置/包/ security.yaml编码器:+ password_hashers:应用实体\ \用户:算法:“汽车”
评论
好问题。实际上,并不是所有的哈希函数适用于散列密码。例如,布雷克3不是。
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。
Sébastien Alfaiate is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now