[Symfony] [FOSUserBundle]我可以获取用户以前的密码吗?

时间:2015-11-09 18:26:57

标签: symfony fosuserbundle

我在Symfony项目中使用FOSUserBundle,我想知道,当用户更改密码时,我是否可以访问他的以前的密码。他应该在“当前密码”字段中输入的那个。

我的项目有一个加密系统,它部分基于用户的密码,这就是我需要它的原因,以更新用户的加密设置。

我在用户更改密码时创建了侦听器,但我不知道如何获取他以前的密码。或者当前的密码,无论如何。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

简答:。如果用户不能通过在表单中​​输入密码来提供您当前的密码,则无法猜测他的密码。

只有访问当前用户密码的选项才是密码以明文形式存储在数据库中,而实际情况并非如此。 密码存储在db中的方式通常是使用hashing function设计为无法反转的 - 您可以哈希密码,但不能解密它。

理论上你可以尝试使用Rainbow tables,但这不是你可以在每次passwprd更改时以常规方式使用的东西,因为它非常重CPU。

答案 1 :(得分:-1)

  1. 加密新密码。
  2. 比较新密码的哈希值和数据库中的哈希密码。