我试图更好地理解散列和加密,但是我偶然发现了一些我似乎在谷歌中找不到的问题,因为谷歌一直在提供我已经阅读过的散列和加密的基本区别。
更多的人在 StackOverflow 中询问,他们不知道加密和散列之间的区别到达了 SO 搜索引擎的顶部。这没有回答我的问题,也没有帮助我。所以我想确定一些关于散列密码和加密密码的事情。
现在假设我想保护一个新的注册用户..
- 我需要先过滤它。(因无关而略过)
在获得“安全”形式的密码后,我对其进行哈希处理。
$safePassword; // Already filled with safe password. $hash = password_hash($safePassword,PASSWORD_ARGON2I);
然后将其插入数据库。
现在这是问题出现的地方。
我还需要加密散列密码吗?
如果是这样,我如何安全地加密密码?(我将使用 AES)
AES_ENCRYPT(str, key_str);
str
我们要加密的字符串在哪里,key_str
是加密密钥。
另一个问题出现了
- 如何保管
key_str
保险箱,以便我可以将其用于进一步使用(用于身份验证)?