在此 stackoverflow 答案中,您可以看到用于打印所有可用提供程序和相应算法的代码:如何查明我的 JVM 支持什么算法[加密]? https://stackoverflow.com/questions/3683302/how-to-find-out-what-algorithm-encryption-are-supported-by-my-jvm
我正在使用最新版本的 spongycastle,当我要求获取 Spongycastle(“SC”)的算法时在安卓上我只得到了少数算法。事实上我明白了名单非常有限:
provider: SC
algorithm: PBEWITHMD5ANDDES
algorithm: PBEWITHSHA256AND192BITAES-CBC-BC
algorithm: OLDHMACSHA384
algorithm: PBEWITHHMACSHA
algorithm: PBEWITHMD5ANDDES
algorithm: PKCS12PBE
algorithm: PBEWITHSHAAND128BITAES-CBC-BC
algorithm: IES
algorithm: PKIX
algorithm: RFC3280
algorithm: ISO9797ALG3MAC
algorithm: PBEWITHHMACSHA1
algorithm: CERTIFICATE
algorithm: PBEWITHSHAAND40BITRC2-CBC
algorithm: PBEWITHSHA1ANDDES
algorithm: PBEWITHMD5AND256BITA
另一方面,当我要求获得 SC 的算法时在我的Linux机器上 I get 更多的算法。我没有数过,但这个列表比你上面看到的要长 10 倍。
其余的算法都去哪里了?
因为这个项目不是典型的 android-java 项目,而是我必须使用的 Android-Scala 项目Proguard在每次执行时。这对缺失的算法有什么作用还是其他原因?
注1:我使用 SC 生成密钥对,使用 OpenPGP 加密和解密
注2:源代码经过测试,可以在Linux机器上完美运行,使用OpenJDK-6,RSA算法进行公钥加密,BLOWFISH算法作为随机对称密钥
您可能需要包括 SpongyCastleOpenPGP API jar http://search.maven.org/#search%7Cga%7C1%7Cg%3acom.madgag%20AND%20a%3ascpg-jdk15on,所以检查一下你是否包括了:
http://rtyley.github.com/spongycastle/#downloads http://rtyley.github.com/spongycastle/#downloads
除此之外,ProGuard 配置问题将是明显的竞争者。尝试在您的 proguard 配置文件中指定类似的内容:
-keep class org.spongycastle.**
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)