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

本文探讨了Java6支持的加密算法及其开源实现,包括BouncyCastle和commonscodec项目的角色,以及如何通过配置将BouncyCastle的算法集成到Java环境中。详细介绍了在不修改JDK的情况下,通过直接调用特定类的方法来使用加密算法的技术。

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的环境中配置上边的东东也没问题

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值