首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iphone中加密nsdata,在php中解密

在iphone中加密nsdata,在php中解密
EN

Stack Overflow用户
提问于 2010-02-20 15:37:41
回答 2查看 2.3K关注 0票数 3

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

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

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

我的应用程序的完整流程是

代码语言:javascript
复制
           IPhone

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

代码语言:javascript
复制
           php

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

有人可以帮助我如何开发这样的应用程序吗?

提前谢谢。

高拉夫

EN

回答 2

Stack Overflow用户

发布于 2010-02-20 16:02:43

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

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

代码语言:javascript
复制
$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的加密方式是什么,但我确信有一种方法可以使用公钥进行加密。

票数 0
EN

Stack Overflow用户

发布于 2010-02-20 21:18:52

您可能想看看CommonCrypto中对AES加密的支持。

我建议为NSData编写一个处理加密的类别。考虑到您需要能够在不同系统之间进行互操作,请务必理解"salt“和”初始值向量(IV)“的概念。

正如Xorlev所说,最好的安全性是通过使用公钥加密获得的。

注意openssl是如何存储salt的,它在加密数据之前。类似于:

字符串"Salted__“,后跟8个字节的salt和加密数据。

如果您不需要强安全性,只需使用对称加密即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2301457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档