请评论这种存储用户密码的方法...

发布于 2024-11-02 08:19:05 字数 206 浏览 1 评论 0原文

$storePassword = md5Hash($salt, $userActuallyPassword);

当用户分配密码时,我将生成一个盐,它是一个十位随机字符串,我将 md5 与 userActuallyPassword 一起使用,并且我存储盐和 storePassword,在存储用户实际密码中,这是一个好方法吗这样做吗?对此有何评论?

$storePassword = md5Hash($salt, $userActuallyPassword);

When the user assign a password, I will generate a salt, which is a ten digit random string, and I use md5 with the userActuallyPassword, and I store the salt and storePassword, within store the user actually password, is this a good way to do so? Any comment on this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

沉睡月亮 2024-11-09 08:19:05

已经差不多好了。

但是,您不应使用 MD5,而应使用非 ASCII 盐。

改为使用 bcrypt

It's almost good.

However, you should not use MD5, and you should use non-ASCII salt.

Instead, use bcrypt

挖个坑埋了你 2024-11-09 08:19:05

尝试使用更严格研究的方法,例如 PBKDF2。您仍然会存储哈希值和盐,并且可以选择自己的哈希算法,但您将处理字典攻击、彩虹攻击和各种其他问题。您可以在 hash_hmac() 函数的注释中找到一个很好的实现。

Try using a more rigorously-studied method like PBKDF2. You'll still store a hash and a salt, and you can pick your own hashing algorithm, but you'll take care of dictionary attacks, rainbow attacks and a variety of other problems. You can find a good implementation in the comments for the hash_hmac() function.

半枫 2024-11-09 08:19:05

几乎正确:

$storePassword = $salt 。 md5Hash($salt, $userActuallyPassword);

并且最好使用 SHA256 或 BCrypt Hash,而不是 md5。
此外,十位随机字符串没有很大的熵,您可以通过使用 128 个随机位而不是数字来改进。

nearly correct:

$storePassword = $salt . md5Hash($salt, $userActuallyPassword);

and instead of md5, you are better off using either SHA256 or BCrypt Hash.
Also, a ten digit random string does not have a very large entropy, you could improve by using 128 random bits instead of digits.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文