我在Symfony项目中使用FOSUserBundle,我想知道,当用户更改密码时,我是否可以访问他的以前的密码。他应该在“当前密码”字段中输入的那个。
我的项目有一个加密系统,它部分基于用户的密码,这就是我需要它的原因,以更新用户的加密设置。
我在用户更改密码时创建了侦听器,但我不知道如何获取他以前的密码。或者当前的密码,无论如何。
感谢您的帮助!
答案 0 :(得分:0)
简答:否。如果用户不能通过在表单中输入密码来提供您当前的密码,则无法猜测他的密码。
只有访问当前用户密码的选项才是密码以明文形式存储在数据库中,而实际情况并非如此。 密码存储在db中的方式通常是使用hashing function设计为无法反转的 - 您可以哈希密码,但不能解密它。
理论上你可以尝试使用Rainbow tables,但这不是你可以在每次passwprd更改时以常规方式使用的东西,因为它非常重CPU。
答案 1 :(得分:-1)