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

最新文章

  1. 再讲IQueryable<T>,揭开表达式树的神秘面纱
  2. 【转】如何使App从后台返回前台时,显示指定界面
  3. 直接拿来用!十大Material Design开源项目
  4. 创造tips的秘籍——PHP回调后门
  5. ccr1
  6. 如何从Linux系统中获取带宽、流量网络数据
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"的作用
  8. jQuery的each函数
  9. haproxy-代码阅读-内存管理
  10. poi合并单元格同时导出excel
  11. SharePoint使用jsom查询当前用户信息
  12. fastadmin 使用记录
  13. Python3.5中安装Scrapy包时出现问题
  14. android 控件获取 获取焦点
  15. MySQL--线程池(Thread Pool)
  16. 一个简单的dropdown(CSS+jquery)
  17. spring securiry Xml 配置 登陆
  18. Java集合set的并、交、差操作
  19. scala(二)
  20. [BZOJ3676][APIO2014]回文串(Manacher+SAM)

热门文章

  1. iOS---------开发中 weak和assign的区别
  2. Python的range、enumerate和zip函数用法
  3. WebMagic使用代理ip爬数据解决HTTP407问题
  4. 框架用多了真的会死人的,spring-cloud全家桶与mybitais 集成完整示例(附下载)
  5. Visual Studio Code管理MySQL
  6. How to restore and recover a database from an RMAN backup. (Doc ID 881395.1)
  7. DropDownList绑定数据源后,要插入项的处理
  8. Create an op on tensorflow; 在tensorflow 1.7/2.0 中创建一个 Op操作
  9. [PHP] 解决php中上传大文件的错误
  10. Go 字符串 (string)