如果可以不用加密,我更喜欢不加密。
嘿嘿嘿,找静态库吧,找demo吧?先来一发:
https://github.com/myafer/OpenSSLApplication
1. Xcode配置 openssl 篇
(1). 新建一个工程
(2).导入openssl 这些选项一定要选对。有人勾选的是 Create folder refrences就变成蓝色的文件夹了,这里就不解释了,自己百度,Google 去。
(3). 运行一下,会发现是会报错的。报的错误是头文件找不到,这是因为我们还没有配置openssl的library文件路径。那么我们接下来配置路径,先Show In Finder一下 看看我们的openssl在哪
然后重点来了 ,我们把这个include拖到这个框里面,路径就配置好了,运行就不会报错了。
拖进去很简单,都不用自己写路径的,是不是很爽好了,我们的环境配置就到此结束了。
但是,现在有个重要的问题来了,我们怎么使用它
2. Openssl 的使用
(1). 来让我们引入4个 我精心剽窃了一晚上写的两个CRSA文件以及所依赖的Base64转码文件
剽窃的多了,我都不知道剽窃了谁的,反正能达到目的就行了,但是还是经过了提炼的哦(2). 运行一下看,又报错了,又是文件找不到。这可难死宝宝了
差点就哭了别着急,我们就像刚才那样 找到这个地方
对,就是刚才那个地方的上面,点开后面然后我们把它拖进去
哇擦,运行成功了好了,我们现在就能使用RSA加密了,我们先自己生成一个密钥对来做下试验,demo里面已经有生成好的。
这就是使用方式了,想怎么搞怎么搞,通过write之后的key都已经保存在了本地这就是RSA的简单使用,要想了解更多,敬请期待下一期。呵呵,忘记贴结果了,我可不是忽悠人的
记得使用Xcode6.4 + 打开哦,出错了我可不管。 这尼玛,这个图怎么不动了1. 提高篇 iOS RSA加密提升篇(分段加密)
网友评论
为什么我用我们公司的公钥和私钥在你的demo上可以加解密 但是我在你的demo上加密 给后台解密就不行了 后台说可能填充方式和后台不一样 能告诉我这个是啥问题吗 谢谢拜托了
NSString *str2 = [cc encryptByRsa:str withKeyType:(KeyTypePrivate)];
NSLog(@"解密str is %@",str2); 】这样写就崩,崩的原因是【Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** NSAllocateMemoryPages(18446744073709551615) failed'
】,可以麻烦您帮我看一下吗
NSMutableString *mutableResultStr = @"".mutableCopy;
for (NSInteger i = 0; i < ceilf(encryptResult.length / 172); i ++) {
NSString *subStr = [encryptResult substringWithRange:NSMakeRange(i * 172, 172)];
NSLog(@"解密第%ld段 === %@ length = %ld", i, subStr, subStr.length);
[mutableResultStr appendString:[cc decryptByRsa:subStr withKeyType:(KeyTypePrivate)]];
}
XgfB7rkxFjjm9XJHCxNvjUjajIrP0noaLiMaNJjBH2ku+TmNoYip9AKcY1x+5+M/
mAdzW2o65xjt683fKK37ALez2uX1ZjuabRqJHc/SkMXG/B4X2jAzDBmEWEFOwmCp
BUhtIMNIV6JxhErkR3lOqw0/qaVQPu5nGDw7M0QJ0yK6TytK80M19cxFKB3cY0Fj
AclTaFoeyorX4E1+8KVYZMnilD536rhZL/DV+OUsyTdXFHlh6yRjIlanky89D7aB
ksWtpGHr/LUIreSLthcoeT/007PlFX0e9glFf9hmPibgcm3iZ20Vg0P4nrN/Vl96
SwIDAQAB 楼主可以帮忙试一下吗