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
BouncyCastle配置的更多相关文章
- VS2015+cordova+ionic安装配置
VS2015已经出了正式版,想用来试一下cordova方面的开发.最近在看ionic这个框架,于是想能在VS2015里编辑js就好了. 下面说一下蛋疼的安装配置过程. 一.安装VS2015及Andro ...
- bouncy castle的配置
Bouncy Castle 是一种用于 Java 平台的开放源码的轻量级密码术包.它支持大量的密码术算法,并提供 JCE 1.2.1 的实现.因为 Bouncy Castle 被设计成轻量级的,所以从 ...
- BouncyCastle产生一个PKCS#12规范的PFX/p12证书
RT,在C#中实现,依赖.netFramework2.0 BouncyCastle中提供了PKCS12Store,Pkcs12StoreBuilder,AsymmetricKeyEntry,X509C ...
- SSL 通信原理及Tomcat SSL 配置
SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................. ...
- SSL 通信原理及Tomcat SSL 双向配置
SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................. ...
- gerrit+nginx+centos安装配置
安装环境 centos 6.8 gerrit-full-2.5.2.war 下载地址:https://gerrit-releases.storage.googleapis.com/gerrit-ful ...
- nginx配置https双向验证(ca机构证书+自签证书)
nginx配置https双向验证 服务端验证(ca机构证书) 客户端验证(服务器自签证书) 本文用的阿里云签发的免费证书实验,下载nginx安装ssl,文件夹有两个文件 这两个文件用于做服务器http ...
- Https双向认证Android客户端配置
Https .cer证书转换为BKS证书 公式https://blog.csdn.net/zww986736788/article/details/81708967 keytool -importce ...
- Maven安装以及环境配置(Windows)
Maven是什么? Maven是一个项目管理和综合工具.Maven提供了开发人员构建一个完整的生命周期框架.开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期. 在 ...
随机推荐
- Dynamics 365触发Microsoft Flow自动生成PDF并作为附件送邮件
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 【JDBC】工具类的抽取
jdbc.properties属性文件 driverClass=com.mysql.jdbc.Driver url=jdbc:mysql:///jdbctest username=root passw ...
- cssW3c书写规范
书写规范:{ 1.选择器名和{大括号之间必须空格(p {}) 2.属性名与之后的:之间不允许空格,:与属性值之间必须空格( p{font-size: 20px;}) 3.并集选择器的每个选择器声明必须 ...
- mysql8之坑
一.具体"坑" 1.修改密码和修改加密方式 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码' PASSWORD ...
- 002 C/C++ 数组的传递
传递一个数组给一个函数的正确做法: 1.传递数组的内存首地址. 2.传递数组的有效长度.指数组的元素数量. 编译器总是将数组类型的变量作为指针传递. 计算数组的长度: int length = siz ...
- MySQL 的 4 种隔离级别,你了解么?
1.什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做.事务的结束 ...
- Codeforces Round #597 (Div. 2) E. Hyakugoku and Ladders 概率dp
E. Hyakugoku and Ladders Hyakugoku has just retired from being the resident deity of the South Black ...
- git 添加add readme.txt 报fatal: pathspec 'readme.txt' did not match any files错误
刚刚接触git版本管理器,跟着廖雪峰老师的git教程学习,在创建一个新的文件时,使用的是$ git add readme.txt指令,但是报出fatal: pathspec 'readme.txt' ...
- python TKinter的主窗口运行程序完毕后,怎么让其自动关闭
如题: 在pycharm 调试Tkinter程序的时候,关闭右上角的X 实际上并未退出进程,长期以往 再大的内存也会被耗尽. 一般就是下面的代码: """ from tk ...
- C++入门到理解阶段二基础篇(2)——C++注释、变量、常量、关键字、标识符
目录 1.注释 注释作用 注释的方式 2.变量 变量基本知识 定义变量 3.常量 常量基本知识 整数常量 浮点常量 布尔常量 字符常量 字符串常量 常量定义 使用 #define 预处理器. 使用 c ...