标签:
在网上找到不少RC4加解密的,oc写的加密的主要都是http://www.cocoachina.com/bbs/read.php?tid-77608.html这一篇。我用了之后,和我们的PHP不能对应起来,他加密后我解密不对,我加密他解密也不对。所以,我自己重新又写了一个。
1.首先,先下载一个openssl库,把库放到桌面上
2.新建项目,导入lib-ios里的两个库:libcrypto.a和libssl.a,打开工程,Build Setting ->Header Search Paths 添加字段/Users/xxxx/Desktop/OpenSSL-master/include-ios,Library Search Paths 添加字段$(PROJECT_DIR)/工程名/文件夹名字;
3.导入zhyrc4.c、zhyrc4.h、base64.c、base64.h。
4.使用:导入头文件#include "zhyrc4.h",
//加密
+ (NSString *)encode:(NSString *) data{
char *pwd = "@ndroid !os";
const char * cData = [data UTF8String];
char *base64_data = NULL;
zhyencode(pwd, cData, strlen(cData), &base64_data);
NSString * str = [NSString stringWithUTF8String:base64_data];
if (base64_data) {
free(base64_data);
base64_data = NULL;
}
return str;
}
+ (NSString *)decode:(NSString *) data{
char *pwd = "@ndroid !os";
const char * cData = [data UTF8String];
char *data1=NULL;
zhydecode(pwd, cData, &data1);
NSString * str = [NSString stringWithUTF8String:data1];
if (data1) {
free(data1);
data1 = NULL;
}
return str;
}
这就可以了。rc4加解密都是同一个方法,如果不需要base64加密,在zhyrc4.c、zhyrc4.h改改就行了,so easy。
文件太大,给个链接:链接: http://pan.baidu.com/s/1nvpgkdz 密码: n82a
标签:
原文地址:http://www.cnblogs.com/zhy-164/p/5485007.html