如何重新哈希Laravel密码?

时间:2013-10-07 09:15:24

标签: hash passwords laravel

我在我的网络应用程序中创建了忘记密码功能,问题是我使用以下方式存储用户密码:

  

哈希::使( '_ their_password _')

有没有办法重新哈希回来或任何推荐的方法呢?

2 个答案:

答案 0 :(得分:4)

哈希密码的重点在于它(应该是)不可逆转的操作。如果您的数据库遭到入侵,攻击者将获得对哈希的访问权限,但不会访问密码。这样,攻击者就无法使用其他站点上的用户密码登录。

制作“我们将重置您的密码”功能,而不是“我们会向您发送密码”功能。

请注意,还有其他best practices您绝对应该关注密码哈希,以确保上面的“应该是”实际拥有,并进一步减少您的网站受到损害时的影响。 Laravel的Hash类似乎已经在使用密码适当的哈希函数Bcrypt。但是,请确保在对密码进行哈希处理时使用盐。

答案 1 :(得分:1)

Laravel的Hash方法无法逆转。

单向加密是存储用户密码或其他敏感数据的最佳方式。

一种方式意味着您的数据可以转换为加密字符串,但由于算法复杂,数学难以实现,因此无法撤消该过程。这使存储密码变得轻而易举!您的客户不必担心您知道他们的密码,但您仍然可以比较它们(通过散列他们提供的密码)或更改密码(如果需要)。

如果您需要撤消,可以使用Crypter类。

$secret = Crypter::encrypt('I actually like Hello Kitty');
$decrypted_secret = Crypter::decrypt($secret);

在此处详细了解加密http://codehappy.daylerees.com/encryption