php - 在iphone中加密nsdata并在php中解密

标签 php iphone encryption nsdata

我是 Iphone 开发的新手,我想创建一个应用程序,我必须使用我的 Iphone 应用程序在 php 服务器上上传一些数据。为此,我在 Iphone 上有一个文件,我必须将其内容上传到 php 服务器。为此,我已经在 NSData 中转换了文件的内容,现在我想加密这个 nsdata 对象,然后将它传递给 php 服务器,在 php 服务器上,我首先必须解密 nsdata 对象,然后我必须将它上传到服务器.

但我找不到任何方法可以在 Iphone 应用程序中加密一些数据,然后在 php 中解密。

而且我还想在将加密数据传输到 php 之前对其进行压缩,然后在 php 上解压缩该数据。

我申请的完整流程是

           IPhone

NSData --> 加密的 NsData --> 压缩的加密数据

           php

压缩加密数据 --> 未压缩加密数据 --> 解密(原始)NSData。

谁能帮我开发这样的应用程序?

提前致谢。

高拉夫

最佳答案

最好的方法可能是使用公钥加密系统加密 NSData,使用应用程序分发公钥,加密,然后只有您的 PHP 应用程序才能使用私钥解密。

在PHP中,可以使用OpenSSL实现公钥/私钥加密。

$key = openssl_pkey_get_private('file:///path/to/my/secure/privatekey', $my_secure_passphrase);
openssl_private_decrypt($nsdata, $decrypted_data, $key);

openssl_private_decrypt()非常有用,因为只有您拥有私钥,它才能从您的手机中解密 NSData。我不确定 iPhone 有什么加密方式,但我肯定有一种使用公钥加密的方法。

关于php - 在iphone中加密nsdata并在php中解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2301457/

相关文章:

php - 减去数据php

iphone - 调用 SQLite 数据库更新 UITableView

ios - 为什么 tableView reloadData 不调用 cellForRowAtIndexPath

java - 如何使用AES算法、Hadoop和Java加密大文本文件?

php - 在表中显示两个不同大小的数组

javascript - 下拉选择菜单以返回没有提交按钮的php变量

php - 嵌套对象用php写入mysql

iphone - 自定义 NavigationItem 的 TouchUpInside 事件在边界外

c++ - TripleDes 会改变数据大小吗

c++ - Cryptoauthlib - 匿名 union 只能有非静态数据成员 - 段错误