您的位置:首页 > 编程语言 > PHP开发

iOS与PHP加密解密

2015-08-20 09:01 706 查看
之前说过, iOS 的加密解密方法非常不方便, 不易于和 PHP 或者 Java 之间交互, 比较封闭.为了和PHP服务器端方便地进行加密解密操作, 我封装了 RSA 类. 使用这个类, 你可以用你喜欢的工具, 如 openssl 命令行, PHP 脚本, 生成友好的公钥或者私租文本, 然后 iOS 使用这些密钥进行加密, PHP 进行解密, 或者 PHP 进行解密, 由 iOS 进行解密.方法如下:
// return base64 encoded string
+ (NSString *)encryptString:(NSString *)str publicKey:(NSString *)pubKey;
// return raw data
+ (NSData *)encryptData:(NSData *)data publicKey:(NSString *)pubKey;
// TODO:
//+ (NSString *)encryptString:(NSString *)str privateKey:(NSString *)privKey;
//+ (NSData *)encryptData:(NSData *)data privateKey:(NSString *)privKey;

// decrypt base64 encoded string, convert result to string(not base64 encoded)
+ (NSString *)decryptString:(NSString *)str publicKey:(NSString *)pubKey;
+ (NSData *)decryptData:(NSData *)data publicKey:(NSString *)pubKey;
// TODO:
//+ (NSString *)decryptString:(NSString *)str privateKey:(NSString *)privKey;
//+ (NSData *)decryptData:(NSData *)data privateKey:(NSString *)privKey;
目前能实现:iOS 用公钥加密, PHP 用私钥解密

PHP 用私钥加密, iOS 用公钥解密

iOS 用私钥加密, PHP 用公钥解密(未实现)

PHP 用公钥加密, iOS 用私钥解密(未实现)

后面两种场景的需求还未实现, 但很快会实现. 欢迎你来补充. 项目地址:https://github.com/ideawu/Objective-C-RSA

Related posts:

iOS 正确接收 HTTP chunked 数据的方法

Objective C urlencode urldecode

C/C++编程的现代习惯

写自己的 http_build_query

编写JSP/PHP+MySQL留言本
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: