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的环境中配置上边的东东也没问题
我们直接在调用算法的时候显式指明我们用什么类的哪个算法即可
本文探讨了Java6支持的加密算法及其开源实现,包括BouncyCastle和commonscodec项目的角色,以及如何通过配置将BouncyCastle的算法集成到Java环境中。详细介绍了在不修改JDK的情况下,通过直接调用特定类的方法来使用加密算法的技术。

被折叠的 条评论
为什么被折叠?



