一、BouncyCastle簡介
BouncyCastle是一款開源的密碼包,其中包含了大量的密碼算法,使用BouncyCastle的目的就是爲了擴充算法支持html
下載地址最新加密組件包 http://www.bouncycastle.org/latest_releases.htmljava
下載下來的加密組件包有如下兩個:算法
bcprov-ext-jdk15on-162.jar #用於配置方式使用ide
bcprov-jdk15on-162.jar #用於調用方式使用加密
二、BouncyCastle的使用方式
2.一、配置方式
經過配置JRE環境,使其做爲提供者提供相應的算法支持,在代碼層面只須要指定要擴展的算法名稱spa
(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.二、調用方式
(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