什么是PHP最安全的加密/解密方法,与MySQL一起使用 - 存储让我们说密码?
当然,不是出于门户目的 - 哈希是最安全的选择。
我想为我们的整个团队在线做一点密码(域/ mysql / ftp ...)存储,所以我们可以登录并检查密码,但我不想真正危及客户的业务。哈希不能用于显而易见的原因 - 我们需要在登录后以可读的形式获取密码 - (每次运行彩虹表都没有意义:D)。
有什么想法吗?
编辑:到目前为止,只有mysql级AES
。您认为有什么会更好/更安全,或者您是否有使用第三方开源代码的经验?
答案 0 :(得分:2)
如果您想加密和解密,那么您可能希望考虑MySQL的内置AES加密。这允许您使用盐(甚至是每个项目的随机盐),然后将加密数据存储为二进制blob。然后,您可以获取salt或使用存储的盐,并解密数据。
这里有一个关于AES加密/解密的好教程:http://techpad.co.uk/content.php?sid=82
答案 1 :(得分:0)
我想说MD5是一个不错的选择,因为你也可以在MySQL级别使用MD5()。然后,您可以将密码保存在数据库中。
base64< MD5< SHA1
答案 2 :(得分:0)
@Adam,我必须同意更安全的方法是使用mysql AES crypt并在PHP中保存密钥。 这样,如果黑客以某种方式获得数据库,他将无法在没有PHP的密钥的情况下打开。
你可以玩密钥(例如,密码PHP代码/使用eval()),这样黑客就会感到困惑,如果他得到DB& PHP代码一起......
答案 3 :(得分:0)
最安全的是您可以自己创建的方法。尝试以随机顺序组合许多易于破解的加密,你会得到一些非常难以破解的东西。除非你知道究竟发生了什么以及以什么顺序进行,否则子加密+反向+随机化会使某些事情变得非常难以破解。