RSA双向加密坑_大坑

公司最近新做了一个项目,要求RSA非对称加密。

然后我就找了找之前的轮子,HBRSAHandler ,不知道大伙用没用过。核心就是用这个。

很简单的两个方法,加密,解密。

//加密

- (NSString*) encryptWithPublicKey:(NSString*)content;

// 解密

- (NSString*) decryptWithPrivatecKey:(NSString*)content;


然而,在我集成了 高德地图,然后又集成了百度的图像识别之后,居然报错,意思是高德地图里面的某个静态库文件和RSA里的openssl 里面的lib静态库重复冲突。



这个气哦~ 

遇到这种事情怎么办!!!

改呗,

然后我又准备把两个静态库合成一个静态库,但是,合成到一半进行不下去了,具体原因我也不太清楚,准备后续有时间细细研究一下,无奈时间不等人,准备Plan B。


准备第二个办法,换库~

因为高德地图是统一好的,而且感觉RSA的库手动导入而且没有什么技术含量,而且库小巧方便,那就换RSA 的库吧。

然后,说时迟那时快,只听叮咚一想,RSA的三方就下载下来了。这个库就叫RSA,我下载了一个RSADemo的文件,这个要感谢群里大大们的帮助。qq:1120508748(该账号不存在),是这个小哥哥告诉我的。

我试了试 Demo 果然好用,然后把库放到了我的项目里,whaaaaaaaaaaaaaaaat!解不出来~

然后,还有一个小哥哥告诉我RSAEncryptor这个库也是好用的,我就又叮咚一声,下了一个Demo。

这个在Demo里也是好用的,但是放到项目里就是解不出来,两个三方的方法名都是一样的。

[RSAEncryptor encryptString:request_info publicKey:publicKey];

[RSA encryptString:request_info publicKey:publicKey];


都很方便,前面是加密的内容,后面是加密的公钥。

这两个库只有公钥加密,私钥解密,没有用公钥解密的方法,据说是因为 iOS 端没法用公钥去解密私钥加密后的数据。这个具体我没试,不能确定真假。等有时间试过之后再更新。

然后新生成了一对公钥私钥。


就长这个样的两个文件。

RSA 非对称加密是什么意思呢?

非对称加密的核心意思就是,可以很容易的算出来两个大的质数的乘积,但是想分解一个合数的两个质数很不容易。RSA 的两个秘钥就相当于一个合数的两个质数。

RSA 又叫非对称加密,非对称指的是加密的秘钥和解密的秘钥不同,没办法用解密的秘钥推导出加密的秘钥,也没办法用加密的秘钥推导出解密的秘钥,从而确保信息的安全性,增大了破解难度。

简单的说就是,通信两端分别用公钥或者私钥加密,而另一端则用另一把秘钥进行解密。而秘钥的位数决定了解密的复杂度,512,1024,2048等,现在1024位以上的就很安全。

这么解释是不是就很清晰啦~

接下来说用法,公钥加密和私钥加密的区别是什么呢?



公钥加密和私钥加密的用途不一样

公钥加密:为了保证数据的“机密性”

私钥加密:为了保证数据的“可靠性”、“完整性”和“操作不可否认性”

这么一来,可以想一下,ios客户端的沙盒机制,基本上就保证了客户端传输数据的“可靠性”、“完整性”和“操作不可否认性”,所有ios的私钥加密基本很少见。

而且,客户端是采集客户的信息,更多的是需要保证数据的“机密性”。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录介绍 1.加密和解密1.1 问答环节1.2 加解密概况 2.对称加密和非对称加密2.1 什么是对称加密2.2 ...
    杨充211阅读 4,158评论 0 6
  • /**ios常见的几种加密方法: 普通的加密方法是讲密码进行加密后保存到用户偏好设置( [NSUserDefaul...
    彬至睢阳阅读 8,178评论 0 7
  • 之前的项目中接触过一些加密的方法,也没有太仔细的进行记录和研究。最近在写SDK时,加密模块的占比相当之大;借此时机...
    过半_e764阅读 3,767评论 0 0
  • 只要你主动开始,我们就有故事!! 一千个人的身上,有一千种搭配。 跟随大众,穿得平庸者,甚多;特立独行,穿出风格者...
    而你在明天呀阅读 3,012评论 0 0
  • “交待你的问题!”两个着黑色中山装的干部坐在桌子后面,严肃地对犯人说道。 那个犯人焦虑地舔舔嘴唇,快速地四处望了一...
    霍真布鲁兹老爷阅读 4,258评论 4 7