使用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加密与解密相关推荐

  1. javascript rsa java,用javascript与java执行 RSA加密与解密

    用javascript与java执行 RSA加密与解密 2009-12-12 14:58:30   出处:https://www.yqdown.com 这几天一直做安全登录,网上查了好多资料,不尽如意 ...

  2. java rsa加密解密_前端实现对请求参数进行RSA加密amp;解密,针对字符串过长进行分段加密amp;分段解密的处理...

    前言 在需求开发中,为了安全起见,我们都会难免遇到需要对一些敏感参数进行加密或者解密.所以,今天给大家分享的就是使用jsencrypt对请求参数进行RSA加密与解密,发这篇文章其实主要因为近期我的一位 ...

  3. GO语言实现RSA 加密和解密的实现

    RSA 加密和解密的实现 openssl生成私钥 openssl genrsa -out rsa_private_key.pem 1024 openssl生成公钥 openssl rsa -in rs ...

  4. 跨语言平台的RSA加密、解密、签名、验证算法的实现

      在网上可以找到各种各样的RSA实现代码,原理都是RSA算法的基本原理,但是在处理数据块划分.填充等问题上都是形形色色的,本文旨在探讨.实现遵循RFC 2313 PKCS#1 v1.5标准的一种跨语 ...

  5. 使用OpenSSL进行RSA加密和解密(非对称)

    1. RSA加密和解密基础概念 RSA是一种非对称加密. RSA秘钥:私钥和公钥,一对私钥和公钥就像夫妻一样是唯一的,用私钥加密后必须用对应的公钥才能解密,用公钥加密后必须用对应的私钥才能解密. 加密 ...

  6. C#实现RSA加密和解密详解

    C#实现RSA加密和解密详解 原文:C#实现RSA加密和解密详解 RSA加密解密源码: using System; using System.Collections.Generic; using Sy ...

  7. C# -- RSA加密与解密

    1.  RSA加密与解密  --  使用公钥加密.私钥解密 public class RSATool{public string Encrypt(string strText, string strP ...

  8. python RSA加密、解密、签名

    python中用于RSA加解密的库有好久个,本文主要讲解rsa.M2Crypto.Crypto这三个库对于RSA加密.解密.签名.验签的知识点. 知识基础 加密是为了保证传输内容隐私,签名是为了保证消 ...

  9. 数字签名、证书,RSA加密、解密

    文章目录 一.相关知识扫盲篇 数字签名.数字证书 防止证书伪造 之 证书链-Digital Certificates 二.公私钥格式.协议规范 三.golang RSA加密.解密具体实现 `RSA`加 ...

最新文章

  1. 博士发公众号文章也能评国奖?双一流高校新规引热议!
  2. C++中事件机制的简洁实现
  3. [渝粤教育] 西北大学 数据结构 参考 资料
  4. Javascript弹出div层
  5. linux6.0设置共享文件夹,[原创] how to virtualbox sharefolder共享文件夹(数据空间)设置全记录...
  6. Java微服务:这个画饼是个谎言,但你却不能忽视它
  7. SpringBoot与缓存使用及原理(下)
  8. python中处理WordNet
  9. cadence设计运算放大器_「好设计论文」一种用于高精度DAC的实用型CMOS带隙基准源...
  10. 方正字体中英文对照表
  11. mongoVue 对mongodb的操作
  12. Git出错,提示error: bad signature 0x00000000 fatal: index file corrupt(win10系统)
  13. 利用iTextsharp进行PDF页码旋转
  14. 各种加速卡 异构计算
  15. shallot夏洛特
  16. ios 开发控件中心点_iosapp开发控件大盘点
  17. 全站仪和手机连接软件_南方全站仪传输软件-南方全站仪传输软件下载 1.0 中文版 - 河东下载站...
  18. 补充---信息安全数学基础第四章习题答案
  19. PPT中存在Mathtype公式时卡顿
  20. 我为什么会喜欢《莺莺传》

热门文章

  1. 对拼多多限时大红包的一些看法
  2. 美国打车应用Lyft公布IPO招股书 预计3月底挂牌交易
  3. DoS/DDoS是什么
  4. 51单片机笔记:定时器/计数器
  5. latex之texstudio不能显示编码为GB2312的tex源文件的中文的解决方法
  6. 【Spark机器学习速成宝典】推荐引擎——协同过滤
  7. 排错实战——解决c++编译错误:error C2059: illegal token on right side of '::'
  8. 网络变压器的原理、主要参数及实现的功能
  9. 数据结构----顺序表的增和遍历(2018/10/23)
  10. 达梦数据库dm8图形化安装教程(企业版)