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默认的支持的算法

 

[c-sharp]  view plain copy
  1. security.provider.1=sun.security.provider.Sun  
  2. security.provider.2=sun.security.rsa.SunRsaSign  
  3. security.provider.3=com.sun.net.ssl.internal.ssl.Provider  
  4. security.provider.4=com.sun.crypto.provider.SunJCE  
  5. security.provider.5=sun.security.jgss.SunProvider  
  6. security.provider.6=com.sun.security.sasl.Provider  
  7. security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI  
  8. security.provider.8=sun.security.smartcardio.SunPCSC  
  9. 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)