使用BC进行RSA加密与解密
使用BC进行RSA加密与解密
项目地址
- encrypt 加密
- decrypt 解密
常量及静态方法:
/*** 加密算法*/
private static final String ENCRYPT_ALGORITHM = "RSA/None/OAEPWithSHA-256AndMGF1Padding";static {Security.addProvider(new BouncyCastleProvider());
}
1. 使用公钥加密
/*** 使用公钥加密** @param publicKey 公钥* @param data 待加密数据明文* @return 密文* @throws NoSuchPaddingException 异常* @throws NoSuchAlgorithmException 异常* @throws NoSuchProviderException 异常* @throws InvalidKeyException 异常* @throws IllegalBlockSizeException 异常* @throws BadPaddingException 异常*/
public static byte[] encrypt(PublicKey publicKey, byte[] data)throws NoSuchPaddingException, NoSuchAlgorithmException, NoSuchProviderException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException {Cipher cipher = Cipher.getInstance(ENCRYPT_ALGORITHM, BouncyCastleProvider.PROVIDER_NAME);cipher.init(Cipher.ENCRYPT_MODE, publicKey);return cipher.doFinal(data);
}
2. 使用私钥解密
/*** 使用私钥解密** @param privateKey 私钥* @param cipherData 待解密的密文* @return 明文* @throws NoSuchPaddingException 异常* @throws NoSuchAlgorithmException 异常* @throws NoSuchProviderException 异常* @throws InvalidKeyException 异常* @throws IllegalBlockSizeException 异常* @throws BadPaddingException 异常*/
public static byte[] decrypt(PrivateKey privateKey, byte[] cipherData)throws NoSuchPaddingException, NoSuchAlgorithmException, NoSuchProviderException, InvalidKeyException, IllegalBlockSizeException, BadPaddingException {Cipher cipher = Cipher.getInstance(ENCRYPT_ALGORITHM, BouncyCastleProvider.PROVIDER_NAME);cipher.init(Cipher.DECRYPT_MODE, privateKey);return cipher.doFinal(cipherData);
}
使用BC进行RSA加密与解密相关推荐
- javascript rsa java,用javascript与java执行
RSA加密与解密
用javascript与java执行 RSA加密与解密 2009-12-12 14:58:30 出处:https://www.yqdown.com 这几天一直做安全登录,网上查了好多资料,不尽如意 ...
- java rsa加密解密_前端实现对请求参数进行RSA加密amp;解密,针对字符串过长进行分段加密amp;分段解密的处理...
前言 在需求开发中,为了安全起见,我们都会难免遇到需要对一些敏感参数进行加密或者解密.所以,今天给大家分享的就是使用jsencrypt对请求参数进行RSA加密与解密,发这篇文章其实主要因为近期我的一位 ...
- GO语言实现RSA 加密和解密的实现
RSA 加密和解密的实现 openssl生成私钥 openssl genrsa -out rsa_private_key.pem 1024 openssl生成公钥 openssl rsa -in rs ...
- 跨语言平台的RSA加密、解密、签名、验证算法的实现
在网上可以找到各种各样的RSA实现代码,原理都是RSA算法的基本原理,但是在处理数据块划分.填充等问题上都是形形色色的,本文旨在探讨.实现遵循RFC 2313 PKCS#1 v1.5标准的一种跨语 ...
- 使用OpenSSL进行RSA加密和解密(非对称)
1. RSA加密和解密基础概念 RSA是一种非对称加密. RSA秘钥:私钥和公钥,一对私钥和公钥就像夫妻一样是唯一的,用私钥加密后必须用对应的公钥才能解密,用公钥加密后必须用对应的私钥才能解密. 加密 ...
- C#实现RSA加密和解密详解
C#实现RSA加密和解密详解 原文:C#实现RSA加密和解密详解 RSA加密解密源码: using System; using System.Collections.Generic; using Sy ...
- C# -- RSA加密与解密
1. RSA加密与解密 -- 使用公钥加密.私钥解密 public class RSATool{public string Encrypt(string strText, string strP ...
- python RSA加密、解密、签名
python中用于RSA加解密的库有好久个,本文主要讲解rsa.M2Crypto.Crypto这三个库对于RSA加密.解密.签名.验签的知识点. 知识基础 加密是为了保证传输内容隐私,签名是为了保证消 ...
- 数字签名、证书,RSA加密、解密
文章目录 一.相关知识扫盲篇 数字签名.数字证书 防止证书伪造 之 证书链-Digital Certificates 二.公私钥格式.协议规范 三.golang RSA加密.解密具体实现 `RSA`加 ...
最新文章
- 博士发公众号文章也能评国奖?双一流高校新规引热议!
- C++中事件机制的简洁实现
- [渝粤教育] 西北大学 数据结构 参考 资料
- Javascript弹出div层
- linux6.0设置共享文件夹,[原创] how to virtualbox sharefolder共享文件夹(数据空间)设置全记录...
- Java微服务:这个画饼是个谎言,但你却不能忽视它
- SpringBoot与缓存使用及原理(下)
- python中处理WordNet
- cadence设计运算放大器_「好设计论文」一种用于高精度DAC的实用型CMOS带隙基准源...
- 方正字体中英文对照表
- mongoVue 对mongodb的操作
- Git出错,提示error: bad signature 0x00000000 fatal: index file corrupt(win10系统)
- 利用iTextsharp进行PDF页码旋转
- 各种加速卡 异构计算
- shallot夏洛特
- ios 开发控件中心点_iosapp开发控件大盘点
- 全站仪和手机连接软件_南方全站仪传输软件-南方全站仪传输软件下载 1.0 中文版 - 河东下载站...
- 补充---信息安全数学基础第四章习题答案
- PPT中存在Mathtype公式时卡顿
- 我为什么会喜欢《莺莺传》
热门文章
- 对拼多多限时大红包的一些看法
- 美国打车应用Lyft公布IPO招股书 预计3月底挂牌交易
- DoS/DDoS是什么
- 51单片机笔记:定时器/计数器
- latex之texstudio不能显示编码为GB2312的tex源文件的中文的解决方法
- 【Spark机器学习速成宝典】推荐引擎——协同过滤
- 排错实战——解决c++编译错误:error C2059: illegal token on right side of '::'
- 网络变压器的原理、主要参数及实现的功能
- 数据结构----顺序表的增和遍历(2018/10/23)
- 达梦数据库dm8图形化安装教程(企业版)