关于 IOS下的RSA

RSA 在很多地方都要使用,但是在ios下使用RSA就是很麻烦

转载自我的一个好友Acquriaus 的原创 

(为什么在iOS下使用什么东西都会麻烦啊摔!)

好吧,麻烦归麻烦,还是要用的。

首先下载库:RSA for ios

这个东西其实是使用openssl的RSA解密加密库的。

科普一下 openssl  :OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

将你下载的东西放到项目里面,不要告诉我不会啊!这个不管!

然后修改:

这样然后你编译一下试试。如果是64位的,那么可能会编译不过哦。需要下面的操作

ok!如果编译过了!那么!还不能用!

众所周知!RSA小朋友是需要公钥和私钥的。这个需要普及的同学请查看百度百科。

你可以在下面这个地方发现你的公钥私钥的位置:

看到那两个pem文件木有?用文本编辑打开就可以看到内容。一般后台那边生成公钥私钥比较好做,你可以直接让他们帮你随机生成一份。

好了,当你把后台给你的公钥,你自己的私钥放进项目以后,你就可以开始使用了!

首先你需要先import如下的文件:

 

NSString+Base64.h

NSData+Base64.h

RSA.h

然后声明如下方法然后使用就可以加密解密啦!

 

[objc] view plaincopy

  1. #pragma mark - Encrypt & Decrypt  
  2. - (NSString *)decryptFromCipherText:(NSString *)cipher  
  3. {  
  4.       
  5.     NSString *privateKeyPath = [[NSBundle mainBundle] pathForResource:@"private_key" ofType:@"pem"];  
  6.     NSLog(@"privateKeyPath: %@", privateKeyPath);  
  7.       
  8.     charchar *plainText = js_private_decrypt([cipher UTF8String], [privateKeyPath UTF8String]);  
  9.     printf("Plain plain: %s\n", plainText);  
  10.       
  11.     return [NSString stringWithUTF8String:plainText];  
  12. }  
  13.   
  14. - (NSString *)encryptFromPlainText:(NSString *)plain  
  15. {  
  16.       
  17.     NSString *publicKeyPath = [[NSBundle mainBundle] pathForResource:@"public_key" ofType:@"pem"];  
  18.     NSLog(@"publicKeyPath: %@", publicKeyPath);  
  19.       
  20.     charchar *cipherText = js_public_encrypt([plain UTF8String], [publicKeyPath UTF8String]);  
  21.     printf("cipher : %s\n", cipherText);  
  22.       
  23.     return [NSString stringWithUTF8String:cipherText];  
  24. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值