最近公布一个非常丰富的开源库,如果你需要相册、录制、录音等操作,那么这个也许对你有一定的帮助:
https://www.jianshu.com/p/8a0accffd0e1
照常例打出我搜到的相关文章
http://blog.csdn.net/ouyang_peng/article/details/50983574
https://www.zhihu.com/question/20874499
在讲接口加密之前,先了解AES与RSA的区别。
(具体算法咱们就不讨论了,如果一定要讨论:https://www.cnblogs.com/awsqsh/articles/4349114.html)
AES:对称加密。加密速度快,相比RSA的安全性就没那么高。
RSA:非对称加密。算法的密钥很长,具有较好的安全性,但加密的计算量很大,加密速度较慢限制了其应用范围。
1.AES与RSA
对称加密AES:
如图所说,服务器(男方)和客户端(女方)都彼此知道该钥匙是0101000101,他们通过彼此的钥匙来进行加密解密。
非对称加密RSA:
如果上面对称加密AES的一个钥匙被偷走的话,那么就很容易破解了。
那么非对称加密就是很好的解决了这个方法。
上面的图片可以首先看到钥匙已经不再是一个了,而是公钥跟私钥一起组合的钥匙,公钥是可以公开出来的。首先加密是通过服务器(男方)加密的,然后客户端(女方)通过该公钥和自己客户端私下的私钥进行解密。
也许你们会认为rsa不就多了个公钥私钥的区别么,其一来说单纯一个钥匙同时在服务端和客户端容易泄漏出去,其二来说用公钥和明文推导密文很容易,但根据公钥、明文和密文推导私钥极其难
2.AES与RSA如何配合加密
从上面比较得知,由于RSA加解密速度慢,不适合大量数据文件加密。AES加密速度很快。
这样在传送机密信息的双方
1:使用AES对传输数据加密
2:使用RSA不对称密码体制来传送AES的密钥
这样就可以综合发挥AES和RSA的优点同时避免它们缺点来实现一种新的数据加密方案。加解密实现流程如图(同样是网上找的)。
那么流程我们明白了,开始深入了解代码。假设一个场景,app客户端向服务端传输一个数据
这个流程我分开5个步骤,让我们一个个步骤讲:
第一步解析:handleRSA
%……&¥%……&¥#……%#@……留待后面编辑。