【问题标题】:accessing mysql password() hashes via iphone通过 iphone 访问 mysql 密码()哈希
【发布时间】:2011-02-01 22:44:41
【问题描述】:

我的网站密码使用 mysql 的 password() 函数进行哈希处理。我宁愿先在手机上对登录密码进行哈希处理,然后再将其放入 url 以访问服务器。我也希望以这种方式将其存储在手机上。我看到有人在那里有 md5 的功能。有这个吗?

问候和感谢。

【问题讨论】:

    标签: iphone mysql objective-c passwords


    【解决方案1】:

    虽然我还没有看到任何 Objective C MySQL PASSWORD() 实现,但您可能需要考虑一种替代机制。例如,如果您试图隐藏密码,您可以使用先前已知或计算的值对其执行 XOR 之类的操作。安全性不高,但在运输过程中有所保护。更好的方法可能是使用对称密钥加密算法并在客户端(iPhone)上对其进行加密并在服务器端对其进行解密。为此,您可以使用标准的 3DES、AES、Blowfish 等。必须再次定义共享密钥,但随后服务器将能够对解密的值调用 PASSWORD() 以获取哈希以进行验证。

    无论您使用什么解决方案,使用 HTTPS 也是一个不错的考虑。

    【讨论】:

    • 我将探索这条道路。谢谢!
    【解决方案2】:

    这涵盖了 iphone 上的 md5 。 Using MD5 hash on a string in cocoa?

    【讨论】:

    • 嗨,我在看这个,认为 MD5 与 MYSQL 中的 password() 函数相同,但可惜不是。我已经在数据库中对密码进行了哈希处理,因此我必须再次使用手机或服务器上的相同功能对其进行哈希处理。谢谢!
    【解决方案3】:

    简短回答:you're not supposed to use the MySQL PASSWORD() function in your application

    Paul 是正确的 - 在防止中间人攻击时,您有两种选择:

    1. 混淆用户密码(您试图通过在客户端进行哈希处理)
    2. 加密流量(使用 HTTPS)

    Protip:2 号是唯一可靠的做法。

    【讨论】:

      猜你喜欢
      • 2012-09-06
      • 2013-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-22
      • 2013-09-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多