实际上就是非对称密钥加密RSA。
但为什么不使用jca这些java自带的呢?因为android是非sun的虚拟机,其实现方法有不同,在现实使用中老是报错,而且网上几乎没有资料谈到这些,所以干脆自己写纯java代码。
几乎尝试了所有的jca加密,但总是不成功,android加的密文java就解不了。
先从网上找来一个RSA算法,是从一个法国网站找来的。
http://www.javafr.com/dlzip.zipnix?ID=27020&accept=1
是用BigInteger来实现的,代码不复杂。
然后再加一点包装,用Base64包成byte[]。
保留了原来法国人写的大部分算法,加了外面的处理,毕竟BigInt不好处理。
缺省长度是512,一般是够了。
这样用在android1.1以上和jdk 1.5以上都没问题。
但为什么不使用jca这些java自带的呢?因为android是非sun的虚拟机,其实现方法有不同,在现实使用中老是报错,而且网上几乎没有资料谈到这些,所以干脆自己写纯java代码。
几乎尝试了所有的jca加密,但总是不成功,android加的密文java就解不了。
先从网上找来一个RSA算法,是从一个法国网站找来的。
http://www.javafr.com/dlzip.zipnix?ID=27020&accept=1
是用BigInteger来实现的,代码不复杂。
然后再加一点包装,用Base64包成byte[]。
保留了原来法国人写的大部分算法,加了外面的处理,毕竟BigInt不好处理。
缺省长度是512,一般是够了。
这样用在android1.1以上和jdk 1.5以上都没问题。