【问题标题】:Looking for a way to encrypt/decrypt network data between PHP and iOS寻找一种在 PHP 和 iOS 之间加密/解密网络数据的方法
【发布时间】:2012-07-12 16:39:02
【问题描述】:

我想在我的服务器和客户端的 iOS 应用程序之间使用共享密钥(可能会在每个应用程序版本中更改),以便可以加密和解密数据。 至少我需要在 iOS 端进行这项工作,对即将发送的数据进行加密。 我不希望机器人或恶意用户扫描我的数据库。我需要加密位置、时间戳和一些数据。

原始字符串可能有 100-200 个字符长。加密前。
使用 SSL 将有助于规避“中间人”。但我需要发送加密的 URL。比如:

  1. iOS 端请求:
    NSString* theKey = "Kazam";
    NSString* theString ="lat=10.222455&lon=23.342224455&ID=3476rghfb3uf34f&timestamp=34325224433"
    参数=urlencode(encryptString(theString,theKey));

    https://www.mydomain.com/page1.php?param=sdhcy39h923498ufdd

  2. 服务器接收参数并解密。
    PHP 服务器:
    $theKey = "卡扎姆";
    $decrypted=decryptString($GET['param'],$theKey);

  3. 然后将数据返回给客户端。

同样,我不介意从服务器发送的数据是否不会加密。 毕竟,客户端才是能够扫描数据库的人。

提前致谢!!

【问题讨论】:

  • 我不太明白为什么纯 SSL 是不够的。
  • 普通 SSL 也会对 URL 进行加密,您不需要其他任何东西。
  • 你确定 F.X 吗?我很确定 Hotmail 是 https,但 url 没有加密。不像我想的那样 SSL 可能会加密它们。使整个字符串加密
  • SSL 对 URL 进行加密。如果 URL 是 https://yourdomain.com/stuff&morestuff,则 GET /stuff&morestuff 被加密。

标签: php ios encryption


【解决方案1】:

不要使用 URL 来传递参数。也就是说,使用 POST 请求而不是 GET 请求。就这么简单!通过 HTTPS 发送 POST 请求非常安全。 更新:是的,GET 请求是通过 HTTPS 加密的。但是出于某些(可能是没有根据的)原因,POST 对我来说似乎更安全。我只是不喜欢变量或密码可以存储在浏览器缓存或服务器日志中的想法。此外,黑客更容易使用 GET 设置恶意链接。

另外,不要忘记,如果网络上有东西,任何人都可以发送请求,因此您可能应该使用服务器端身份验证,除非您完全确定可以区分合法请求和欺诈请求。

【讨论】:

  • 那么,您的意思是用户无法以合理的方式操作数据?
  • 这将采用用户可能不喜欢的用户密码
  • 据我所知,网络上的任何人现在都可以向您的服务器发送他们想要的任何请求。但是,如果您通过 HTTPS 发送,他们将无法查看发送的内容。您可以使用自己的用户名和密码在您的应用程序中进行身份验证。用户不必登录。这将防止黑客仅仅打开浏览器并向您的服务器发送他们想要发送的任何请求。
  • 那么让我直说吧。一旦在 https 上(我目前正在开发,我还没有使用 SSL,所以我无法验证这一点)机器之间发送的总消息将完全被用户屏蔽掉?用户将无法操作数据?
  • HTTPS 只是 HTTP over SSL(或现在的 TLS)。 SSL 将始终在发送任何数据之前设置;在没有机密性和完整性保护的情况下不会发送任何数据 - 当然,除非 SSL 协议出现故障。
【解决方案2】:

在使用 SSL (HTTPS) 时,整个 HTTP 请求都是加密的,因此您可以像以前一样在 URL 中发送数据。

【讨论】:

  • hotmail SSL 不是加密的吗?如果您查看它们的 URL,它们看起来似乎没有加密。
  • 我还以为是SSL,只要协议在URL开头说https就可以了
  • SSL 是安全套接字层,TLS 是传输层安全。顾名思义,两者都提供仅在传输期间的加密和完整性检查。因此,您看到的 URL 将被 send 加密,但不会在服务器或浏览器中显示为加密。
  • 所以,这强调了我的需要。我关心用户无法破译他们发送的内容。
猜你喜欢
  • 1970-01-01
  • 2018-09-28
  • 2011-09-30
  • 2012-07-12
  • 1970-01-01
  • 1970-01-01
  • 2013-10-28
  • 2011-03-26
  • 2012-04-04
相关资源
最近更新 更多