java常见的开源算法支持以及java默认支持的provider

java6支持了很多的加密算法,各大机构提供了很多的实现。但是大部分收费。
1、这里Bouncy Castle(http://www.bouncycastle.org)提供了一系列的算法实现,可以跻身于JCE的框架下,以提供者的方式纳入java安全实现的开源项目。
2、commons codec这个apache的项目对java6的api做了易用性改进,但是没有对java6提供扩展加密算法。

这里我们可以看到jdkhome下的jre/lib/security/java.security默认的支持的算法

security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=com.sun.net.ssl.internal.ssl.Provider
security.provider.4=com.sun.crypto.provider.SunJCE
security.provider.5=sun.security.jgss.SunProvider
security.provider.6=com.sun.security.sasl.Provider
security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.8=sun.security.smartcardio.SunPCSC
security.provider.9=sun.security.mscapi.SunMSCAPI

如果想把Bouncy Castle支持的算法加上去,也可以直接进行配置

security.provider.<n>=<classname>

但是这么做需要将Bouncy Castle的jar包放到jdk下的jre/lib/ext目录,最好jre home下的ext也放一个

写法雷同上边1-9的提供者

 

不过就算我们不在jdk的环境中配置上边的东东也没问题

我们直接在调用算法的时候显式指明我们用什么类的哪个算法即可


你可能感兴趣的:(java常见的开源算法支持以及java默认支持的provider)