【问题标题】:How to modify default bcrypt hashing into md5 in laravel 5.4如何在 laravel 5.4 中将默认 bcrypt 散列修改为 md5
【发布时间】:2019-04-01 08:12:34
【问题描述】:

我在 MD5 中有密码,我想在 Laravel 5.4 中导入用户,因为 Laravel 不允许使用基于 md5 的导入用户登录,因为 bcrypt 哈希。

1) Is there any way to use MD5 instead of bcrypt?
2) How can I use the original password to store in Laravel with default bcrypt?

这样做的主要目的是在 Laravel 5.4 中导入用户后在 Laravel 中使用 md5 加密密码。

【问题讨论】:

  • 重复问题,这可能会对您有所帮助stackoverflow.com/questions/42176866/…
  • 仅使用散列函数是不够的,仅添加盐对提高安全性无济于事。相反,iIterate over an HMAC with a random salt for about 100ms duration and save the salt with the hash.使用PBKDF2、Rfc2898DeriveBytes、password_hash、Bcrypt 等函数或类似函数。关键是让攻击者花费大量时间通过蛮力寻找密码。

标签: authentication laravel-5 hash bcrypt laravel-5.4


【解决方案1】:

与大多数哈希函数一样,MD5 既不是加密也不是编码。它可以通过蛮力攻击被破解,并且存在大量漏洞,详情请参阅下面的安全部分。

来源:https://en.wikipedia.org/wiki/MD5

我不会将密码散列更改为 MD5,而是创建一个用户可以更新密码的页面。

只需创建一个包含 4 个输入字段的页面:

  • 电子邮件
  • 旧密码
  • 新密码
  • 验证新密码。

如果旧的 MD5 密码匹配,使用 bcrypt() 更新他们的密码,他们就可以登录到你的 Laravel 应用程序。您可以将信息和链接添加到登录页面,并向您的所有用户发送包含信息和链接的电子邮件。

【讨论】:

  • 并不是MD5“坏”了,而是仅仅使用哈希函数是不够的。有关详细信息,请参阅问题的评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-24
  • 2021-09-13
  • 1970-01-01
  • 2014-08-02
  • 2020-12-09
  • 1970-01-01
  • 2021-06-10
相关资源
最近更新 更多