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

BouncyCastle配置的更多相关文章

  1. VS2015+cordova+ionic安装配置

    VS2015已经出了正式版,想用来试一下cordova方面的开发.最近在看ionic这个框架,于是想能在VS2015里编辑js就好了. 下面说一下蛋疼的安装配置过程. 一.安装VS2015及Andro ...

  2. bouncy castle的配置

    Bouncy Castle 是一种用于 Java 平台的开放源码的轻量级密码术包.它支持大量的密码术算法,并提供 JCE 1.2.1 的实现.因为 Bouncy Castle 被设计成轻量级的,所以从 ...

  3. BouncyCastle产生一个PKCS#12规范的PFX/p12证书

    RT,在C#中实现,依赖.netFramework2.0 BouncyCastle中提供了PKCS12Store,Pkcs12StoreBuilder,AsymmetricKeyEntry,X509C ...

  4. SSL 通信原理及Tomcat SSL 配置

    SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................. ...

  5. SSL 通信原理及Tomcat SSL 双向配置

    SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................. ...

  6. gerrit+nginx+centos安装配置

    安装环境 centos 6.8 gerrit-full-2.5.2.war 下载地址:https://gerrit-releases.storage.googleapis.com/gerrit-ful ...

  7. nginx配置https双向验证(ca机构证书+自签证书)

    nginx配置https双向验证 服务端验证(ca机构证书) 客户端验证(服务器自签证书) 本文用的阿里云签发的免费证书实验,下载nginx安装ssl,文件夹有两个文件 这两个文件用于做服务器http ...

  8. Https双向认证Android客户端配置

    Https .cer证书转换为BKS证书 公式https://blog.csdn.net/zww986736788/article/details/81708967 keytool -importce ...

  9. Maven安装以及环境配置(Windows)

    Maven是什么? Maven是一个项目管理和综合工具.Maven提供了开发人员构建一个完整的生命周期框架.开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期. 在 ...

随机推荐

  1. DOM CSS

    DOM CSS HTML DOM 允许 JavaScript 改变 HTML 元素的样式. 改变 HTML 样式 如需改变 HTML 元素的样式,请使用这个语法: document.getElemen ...

  2. Linux:DNS服务器搭建

    DNS简介 DNS(Domain Name System)域名系统: 是一种采用客户端/服务器机制,负责实现计算机名称与IP地址转换的系统.DNS作为一种重要的网络服务,既是国际互联网工作的基础,同时 ...

  3. alluxio 安装记录及相关信息

    最近要尝试探究一下alluxio相关的知识,本博客进行对alluxio的安装过程进行备忘: 单例安装过程: https://docs.alluxio.io/os/user/stable/cn/cont ...

  4. Linux-3.14.12内存管理笔记【伙伴管理算法(1)】

    前面分析了memblock算法.内核页表的建立.内存管理框架的构建,这些都是x86处理的setup_arch()函数里面初始化的,因地制宜,具有明显处理器的特征.而start_kernel()接下来的 ...

  5. Python对MySql增删改查

    pip install pymysql import pymysql db_config = { 'host': '127.0.0.1(ip)', 'port': 3306, 'user': '账号' ...

  6. ReactNative: 使用Text文本组件

    一.简言 初学RN,一切皆新.Text组件主要用于显示文本,Text组件的重要性不言而喻,无论是Web开发还是客户端开发,都离不开它.它具有响应特性,也即表现为当它被触摸时是否显示为高亮状态.在Web ...

  7. angularjs中ng-class常用写法,三元表达式、评估表达式与对象写法

     壹 ❀ 引 ng-class可以说在angularjs样式开发中使用频率特别高了,这不我想利用ng-class的三元运算符的写法来定义一个样式,结果怎么都想不起来正确写法,恼羞成怒还是整理一遍吧,那 ...

  8. 节点List相关操作

    为方便遍历子节点,lxml将节点list的操作尽可能的与python处理list的方式一样保持一致 创建XML from lxml import etree root = etree.Element( ...

  9. Linux 安装 MySQL 出现 Could NOT find Curses

    通过源码安装 MySQL 数据库,下载了 mysql-5.5.24 的版本,在使用 cmake 时产生了报错,如下: CMake Error at cmake/readline.cmake: (MES ...

  10. SPU和SKU介绍及区别

    一.spu概念 SPU = Standard Product Unit (标准化产品单元) SPU是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的特性.通俗点讲 ...