我正在编写一些简单的登录脚本。我只是想知道,在PHP中使用散列和加密函数有什么优势,或者反过来呢?
我知道使用存储过程,我可能会传输敏感信息不安全。另一方面,维护起来可能更简单。
使用它们有什么好处吗?
答案 0 :(得分:4)
我看到使用mysql加密敏感数据的唯一问题是,如果运行php的Web服务器位于mysql的不同位置,则可以通过正在通信此双方的网络发送合理的未加密数据。
答案 1 :(得分:0)
我肯定会使用PHP over MySQL来哈希密码。有很多方法可以存储和查看查询,如果有这样的查询最终会存储在某个地方,那可能会很糟糕:
SELECT id FROM users WHERE username = 'User123' AND password = MD5(CONCAT('SecretSalt','MyPassword'))
答案 2 :(得分:0)
如果您要存储密码,请使用难以破解的散列函数。 bcrypt
是一个合理的选择,许多answers会详细说明如何实施它。
MySQL的散列方法不如此安全,并且用于其他目的,例如用于检查重复的散列文档。