gpt4 book ai didi

php - 敏感数据是否应该通过脚本和数据库两种方式加密?

转载 作者:行者123 更新时间:2023-11-29 03:43:21 27 4
gpt4 key购买 nike

我对加密知之甚少,但是加密已经加密的东西有什么好处,比方说密码?我知道盐,但在此之前,它是否重要?

最佳答案

当哈希是 1 向时,加密是 2 向的。您可以解密加密的字符串,但不能还原哈希。

一个简单但很好的例子是使用 md5 hash + salt:MD5('password' + 'random_string') - 无论您使用 PHP 还是 MySQL - 结果都是一样的。所以你在这里得到的是“passwordrandom_string”的散列,使用字典不太可能匹配。

因此,每次检查密码时,您都会:

if (md5($password . 'random_string') == $hash_from_db)

更新:但如果您真的很关心安全性(这通常只有在您的应用程序处理非常敏感的数据时才需要这样做),并且说得更多——您对此有疯狂的偏执狂和精神错乱:有很多哈希方法通过互联网。找到一些带有随机盐的东西(这样每个密码都可以有几乎无限量的哈希值),进行少量更改,将其与其他哈希算法结合使用 - 问题已解决。

有一件事你应该知道 - 有时散列越慢越好 - 更好。这意味着,如果您以某种方式在登录尝试计数器中设置了一个鼠洞,这将真正减慢暴力破解过程。

您可以查看一个示例 - bcrypt(它使用 Java 进行散列)。并不是说您应该使用它,只是您应该寻找的一个示例。

关于php - 敏感数据是否应该通过脚本和数据库两种方式加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10255785/

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