具体代码:

package tsoffice;import javax.crypto.Cipher;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;public final class TestRSA
{private final static String ALGORITHM = "RSA";private final static String CHARSET   = "utf-8";/*** 密钥长度 于原文长度对应 以及越长速度越慢*/private final static int KEY_SIZE = 512;private static PublicKey  publicKey;private static PrivateKey privateKey;/*** 随机生成密钥对*/public static void genKeyPair() throws NoSuchAlgorithmException {KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(ALGORITHM);keyPairGen.initialize(KEY_SIZE, new SecureRandom());KeyPair keyPair = keyPairGen.generateKeyPair();publicKey  = keyPair.getPublic();privateKey = keyPair.getPrivate();}public static byte[] encrypt(String str, PublicKey pubKey) throws Exception {Cipher cipher = Cipher.getInstance(ALGORITHM);cipher.init(Cipher.ENCRYPT_MODE, pubKey);return cipher.doFinal(str.getBytes(CHARSET));}public static byte[] decrypt(byte[] inputByte, PrivateKey priKey) throws Exception {Cipher cipher = Cipher.getInstance(ALGORITHM);cipher.init(Cipher.DECRYPT_MODE, priKey);return cipher.doFinal(inputByte);}public static void main(String[] args) throws Exception {long temp = System.currentTimeMillis();//生成公钥和私钥genKeyPair();System.out.println("生成密钥消耗时间:" + (System.currentTimeMillis() - temp) / 1000.0 + "秒");String message = "公钥加密测试-:泰山Office";System.out.println("原文:" + message);temp = System.currentTimeMillis();byte[] messageEn = encrypt(message, publicKey);System.out.println("密文:" + messageEn.length);System.out.println("加密消耗时间:" + (System.currentTimeMillis() - temp) / 1000.0 + "秒");temp = System.currentTimeMillis();byte[] messageDe = decrypt(messageEn, privateKey);System.out.println("解密:" + new String(messageDe));System.out.println("解密消耗时间:" + (System.currentTimeMillis() - temp) / 1000.0 + "秒");}
}

JAVA RSA加密解密代码范例(byte[]版)相关推荐

  1. Java RSA加密解密

    转自 http://blog.csdn.net/bbld_/article/details/38777491 概述 RSA是目前最有影响力的公钥加密算法,该算法基于一个十分简单的数论事实:将两个大素数 ...

  2. java RSA加密解密--转载

    原文地址:http://www.blogjava.net/icewee/archive/2012/05/19/378570.html 该工具类中用到了BASE64,需要借助第三方类库:javabase ...

  3. java RSA加密解密实现(含分段加密)

    该工具类中用到了BASE64,需要借助第三方类库:javabase64-1.3.1.jar 下载地址:http://download.csdn.net/detail/centralperk/50255 ...

  4. java:RSA加解密字符串与byte[]数组转换 不用String方法的原因

    RSA加密参考https://blog.csdn.net/qq_18870023/article/details/52596808 byte负数转换参考https://bbs.csdn.net/top ...

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

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

  6. python实现rsa加密解密代码_使用python实现rsa算法代码

    RSA算法是一种非对称加密算法,是现在广泛使用的公钥加密算法,主要应用是加密信息和数字签名. 维基百科给出的RSA算法简介如下: 假设Alice想要通过一个不可靠的媒体接收Bob的一条私人讯息.她可以 ...

  7. C# Java间进行RSA加密解密交互

    C# Java间进行RSA加密解密交互 原文:C# Java间进行RSA加密解密交互 这里,讲一下RSA算法加解密在C#和Java之间交互的问题,这两天纠结了很久,也看了很多其他人写的文章,颇受裨益, ...

  8. MacOS下使用C语言基于openssl库进行RSA加密解密

    MacOS下使用C语言基于openssl库进行RSA加密解密 1 安装openssl并生成密钥 首先当然要安装openssl(这里记得看一下安装路径,应该是/usr/local/Cellar/open ...

  9. RSA加密解密及数字签名Java实现--转

    RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.当时他们三人都在麻省理工学院 ...

  10. C# Java间进行RSA加密解密交互(二)

    接着前面一篇文章C# Java间进行RSA加密解密交互,继续探讨这个问题. 在前面,虽然已经实现了C# Java间进行RSA加密解密交互,但是还是与项目中要求的有所出入.在项目中,客户端(Java)的 ...

最新文章

  1. max flow value 是网络流里的什么_为什么你这么努力,还是没有通过投行面试
  2. 几年前,我撸了一套RabbitMQ的客户端
  3. Tensorflow nmt源码解析
  4. 三菱PWM格式文件梯形图编码格式
  5. python-day8-赋值
  6. 字节跳动面试流程和考点都在这儿
  7. IT兄弟连 JavaWeb教程 文件下载技术
  8. linux恢复rm删除文件ssd,科学网—linux恢复rm -rf删除的文件 - 罗晓光的博文
  9. 使用jQuery在AJAX请求中添加标头
  10. 金蝶K3cloud管理中心的管理员密码重置
  11. 怎么把解压的文件在HTML打开,压缩文件怎么解压打开?
  12. 1.ESP32文件夹配置,创建自己的工程 Vscode+Idf插件
  13. python字典的删除(简介明了)
  14. 数据化是什么,企业为什么要数据化管理?【Teamface企典】
  15. 安卓设备数据转移到ios设备
  16. 蓝桥杯第12届第三次模拟
  17. 总结做SEO没效果,这些点你考虑过吗?
  18. Prometheus + AlertManager + Prometheus-webhook-dingtalk的告警通知
  19. 学生机房管理服务器系统设计,机房学生论文,关于基于分布式结构的机房管理信息系统的设计实现相关参考文献资料-免费论文范文...
  20. 揭榜啦!“寻找C站宝藏”获奖名单已公布,速来围观~~

热门文章

  1. 第七届蓝桥杯省赛大学B组C/C++---剪邮票---DFS
  2. 大数乘法(C语言、数组模拟)
  3. android页面跳转停止,android – Viewpager上的VideoView,切换页面时停止视频
  4. 本科自考计算机专业有哪些学校,自考本科计算机专业要学什么?广东有哪些学校可以考?...
  5. cmd jar java_cmd运行jar报错问题
  6. java 单元测试assert_java – 使用assertTrue与其他人进行单元测试
  7. 深度图像配准_【阅读笔记】深度学习在医学图像分析领域的综述
  8. alsa buffer原理_alsa音频开发全攻略
  9. 【Sublime Text3 】——代码片段
  10. Linux下安装gcc和g++