【发布时间】:2011-02-01 22:44:41
【问题描述】:
我的网站密码使用 mysql 的 password() 函数进行哈希处理。我宁愿先在手机上对登录密码进行哈希处理,然后再将其放入 url 以访问服务器。我也希望以这种方式将其存储在手机上。我看到有人在那里有 md5 的功能。有这个吗?
问候和感谢。
【问题讨论】:
标签: iphone mysql objective-c passwords
我的网站密码使用 mysql 的 password() 函数进行哈希处理。我宁愿先在手机上对登录密码进行哈希处理,然后再将其放入 url 以访问服务器。我也希望以这种方式将其存储在手机上。我看到有人在那里有 md5 的功能。有这个吗?
问候和感谢。
【问题讨论】:
标签: iphone mysql objective-c passwords
虽然我还没有看到任何 Objective C MySQL PASSWORD() 实现,但您可能需要考虑一种替代机制。例如,如果您试图隐藏密码,您可以使用先前已知或计算的值对其执行 XOR 之类的操作。安全性不高,但在运输过程中有所保护。更好的方法可能是使用对称密钥加密算法并在客户端(iPhone)上对其进行加密并在服务器端对其进行解密。为此,您可以使用标准的 3DES、AES、Blowfish 等。必须再次定义共享密钥,但随后服务器将能够对解密的值调用 PASSWORD() 以获取哈希以进行验证。
无论您使用什么解决方案,使用 HTTPS 也是一个不错的考虑。
【讨论】:
这涵盖了 iphone 上的 md5 。 Using MD5 hash on a string in cocoa?
【讨论】:
简短回答:you're not supposed to use the MySQL PASSWORD() function in your application。
Paul 是正确的 - 在防止中间人攻击时,您有两种选择:
Protip:2 号是唯一可靠的做法。
【讨论】: