Java中配置加密组件Bouncy_Castle

2.2、方式一

Java6提供了多种算法支持,但并不完善,许多加密强度较高的算法,Java6未能提供。Bouncy Castle就是对Oracle提供的算法进行了扩展,比如IDEAMD4RijndaelSerpentTwofish等算法。关于更多Bouncy Castle的知识,请Google之,下面介绍如何在JDK中配置它。

一、下载Bouncy Castle

来这里下载最新版:http://www.bouncycastle.org/latest_releases.html (目前最新版是146),主要下载这两个文件:bcprov-jdk16-146.jarbcprov-ext-jdk16-146.jar,如下图:

 

二、配置Java.security

用记事本打开%JDK_Home%\ jre\lib\security\java.security文件,找到如下9行代码:

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

在这9行之后添加如下两行代码:

#增加BouncyCastleProvider

security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider

保存Java.security文件。

同样修改%JRE_Home%\lib\security\java.security文件,加入以上两行,保存文件。

三、导入jar文件

分别复制bcprov-ext-jdk16-146.jar"%JDK_Home%\jre\lib\ext""%JRE_Home%\lib\ext"目录下。

配置完成!


2.2、方式二

(1)在代码中通过maven引入BouncyCastle的包

<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcprov-jdk15on</artifactId>
    <version>1.56</version>
</dependency>

(2)无需像方式1 一样修改配置文件,直接在代码中手动添加provider:

[java]  view plain  copy
  1. Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());  
  2. Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding");  
  3. cipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".getBytes("UTF-8"), "AES"));  
  4. cipher.doFinal("QWEASDZS".getBytes("UTF-8"));  




  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值