gpt4 book ai didi

php - 我应该在哈希后加密我的密码吗?如果是这样如何正确地做到这一点?

转载 作者:可可西里 更新时间:2023-11-01 00:39:06 25 4
gpt4 key购买 nike

我试图更好地了解散列和加密,但是我偶然发现了我在 Google 中似乎找不到的问题,因为 Google 一直提供我已经阅读过的散列和加密的基本区别。

更多的是,很多人在 StackOverflow 中提问,他们不知道加密和散列之间的区别,这让 SO 的搜索引擎排名靠前。这没有回答我的问题,也没有帮助我。所以我想确定一些关于散列密码和加密密码的事情。

现在假设我想保护一个新注册用户..

  1. 我需要先过滤它。 (因无关而跳过)
  2. 在获得“安全”形式的密码后,我对其进行哈希处理。

    $安全密码;//已经填入安全密码。
    $hash = password_hash($safePassword,PASSWORD_ARGON2I);

  3. 然后将其插入数据库。

这就是问题所在。

  1. 我还需要加密散列密码吗?

  2. 如果是这样,我该如何安全地加密密码? (我要使用 AES)

AES_ENCRYPT(str, key_str);

str 是我们要加密的字符串,key_str加密 key 。

另一个问题出现

  1. 如何保证 key_str 的安全,以便我可以将它用于进一步的用途(用于身份验证)?

最佳答案

不需要加密密码,就像您在问题中包含的那样,只需通过密码哈希运行它就可以了。哈希是一种单向操作,因此“不可能”反转哈希并得到原始密码。

在对密码进行哈希处理后对其进行加密并不会降低安全性,只是不会真正提高安全性。它还引入了更多问题 - 将 key 放在哪里?

只使用 Argon2,不需要任何进一步的东西。

关于php - 我应该在哈希后加密我的密码吗?如果是这样如何正确地做到这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53826064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com