首先我先感慨一下:Fuck Off!
最近新app开发,接口调试,涉及密码相关的要求使用加密来保证数据安全性,公司后台选用的是RSA非对称加密,请求密钥的时候,后台返回的是编码后的公钥,中间踩了很多很多坑,最后问题解决后回来看,发现真的,路走的太弯了,费劲。
RSA
内部具体的加密方式还没有了解,仅从使用上来介绍一下加密过程,说一下自己简单的理解,也算是笔记
首先是后台使用KeyPairGenerator来生成一对密钥对,分公钥和私钥,然后后台会存储私钥,公钥获取字节数组的值后通过Base64做一个encode编码转为字符串,开发者从后台获取的公钥就是这个字符串,拿到这个字符串之后,要先使用Base64做一个decode解码,然后通过KeyPairGenerator、KeyFactory、PublicKey这几个类的几步操作获得一个公钥的对象,通过Cipher对字符串进行加密,加密完成之后,要对加密的结果用Base64做一个encode编码的操作,获得的字符串即加密后的字符串,验证成功。
坑
下面就要开始记录一下踩过的坑了
more >>