IOS-RSA加解密分享
本文转载至 http://www.cocoachina.com/bbs/read.php?tid=235527
不能只索取,不贡献。。。
此项目客户端不用openssl生成de,直接使用本库生成Publickey及Privatekey。
程序是由https://github.com/kuapay/iOS-Certificate--Key--and-Trust-Sample-Project项目修改而来,此项目加密时长度超过100多就不能加密(已修改兼容很多很多字节)!!解密由于项目不需要,没做分片解压,只支持100多字节(项目急,没时间改),大伙可以修改此方法!写完分享一下
- (NSString *)decrypt:(NSString *)cipherText
key:(NSString *)key
error:(NSError *)error!!
适用环境:
1、ios应用程序自动生成公钥,私钥,并保存下来。以后都是沙盒提取
2、服务器公钥通过der格式生成SeckeyRef格式,用于与服务器传输。
3、加密之前已经base64了,解密之后也已经base64.
加密:
RSACryptor *r = [RSACryptor shareInstance];
long randomData = random();
NSString *pubStr = [NSString stringWithFormat:@"%@",@“12345”];
NSLog(@"RSAExchange %d",[str length]);
NSData *strData = [pubStr dataUsingEncoding:NSUTF8StringEncoding];
NSString *EncryptStr = [r RSA_EncryptUsingServerPublicKeyWithData:strData];
解密:
NSString *RSA_String = @“xxxxxx”;
RSACryptor *r = [RSACryptor shareInstance];
NSData *base64FromString = [RSA_String dataUsingEncoding:NSUTF8StringEncoding];
NSString *RSA_DecryptData = [r RSA_DecryptUsingPrivateKeyWithData:base64FromString];
NSLog(@"RSA_DecryptData %@",RSA_DecryptData);
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。