BouncyCastle配置
1、BouncyCastle简介
BouncyCastle是一款开源的密码包,其中包含了大量的密码算法,使用BouncyCastle的目的就是为了扩充算法支持
下载地址最新加密组件包 http://www.bouncycastle.org/latest_releases.html
下载下来的加密组件包有以下两个:
bcprov-ext-jdk15on-162.jar #用于配置方式使用
bcprov-jdk15on-162.jar #用于调用方式使用
2、BouncyCastle的使用方式
2.1、配置方式
通过配置JRE环境,使其作为提供者提供相应的算法支持,在代码层面只需要指定要扩展的算法名称
(1) 修改 D:\InstallSoftHere\Java\jdk1.8.0_121\jre\lib\security目录下的java.security文件
security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider
(2) 将文件导入D:\InstallSoftHere\Java\jdk1.8.0_121\jre\lib\ext目录下
(3) 刚才上面修改了安装目录下的jdk文件夹里的内容,接下来对与jdk同目录下的jre文件夹进行相同的修改与导入
2.2、调用方式
(1) 将bcprov-jdk15on-162.jar文件导入相关工程
(2) 在需要使用加密的代码中导入以下两个类
import java.security.Security;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
(3) 在初始化密钥工厂、密钥生成器等引擎前调用如下代码:
//加入BouncyCastleProvider的支持
Security.add.addProvider(new BouncyCastleProviderrr());
###############或者使用以下方式###############
MessageDigest md = MessageDigest.getInstant("MD4","BC");
//每个提供者都有简称,Bouncy Castle提供者的简称为BC
~欢迎各位师傅关注我的公众号哟~