package com;import cn.hutool.core.codec.Base64;
import cn.hutool.core.io.FileUtil;
import cn.hutool.crypto.asymmetric.KeyType;
import cn.hutool.crypto.asymmetric.RSA;public class RSATest {public static void main(String[] args) {//公钥加密
//        RSA rsa = new RSA();
//        System.out.println("getPrivateKeyBase64: "+rsa.getPrivateKeyBase64());
//        System.out.println("getPublicKeyBase64: "+rsa.getPublicKeyBase64());
//        byte [] encrypt=rsa.encrypt("Dalian Explorers", KeyType.PublicKey);
//        System.out.println(Base64.encode(encrypt));//私钥解密
//        String PRIVATE_KEY ="MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJmVD9gSyyshLxNjJwwhm4l9sAMqeFqyUm0yjNBymzh8DXXCFqoSUgE9pFVXcUcI4MPfJYygvknUbufx9wbwVgUgMHy1QIVmQAGy3xuKKVNscGFI4rfhKtE3Pb3MmBXv0tPs2LLL8FywG6lHrPnZUWOy4TMYXzpPUxqV1xn4pLf/AgMBAAECgYBvdXicLXd5A4owncLW0QUaETdN9OKHn+amDQuYs7PmmFEEZykfoFAXSm8a6GzzSoQkYqvTlUzENAGRH09Rn9YsmmLuhekyD/7EiKVBvHqBrzF0Fu2OtW0j/+hxfd0OxO4xeX68ItT/5Y4oa/lhuiniXD5rZfa8wJ9LlvDCUihwAQJBAOnq4TNs0433HSc4JOTl/lXADe7NTO5N5WoO0ZD89icPcm2mB4HuD65bQVYVWDxv+vj6QRiN3/P3UKuu2IPg1AECQQCoFLVZX7xCRXz6x4OzDTHg1i3HxOM1dJc/lFeUJ7BTFkHyVo+t8bVLTs3gNUNmoKUHyu/do3VWTz8ZnigklYv/AkEAlZ2UGU5cKguK7BDvGDE7ciF7R+iscigEusdrp28FCorIx/VQC/z2rrDTo3nXjCCbyDBY/pmQSv0+7fDRr9hYAQJAJ08IholkPt9/dir4+wQH+Tw94q2CMbs9sCniPYz2qMfYznM+EQEpVB5u+ZObWsIRNnxYkq4qv++yoywg2UV8QwJAWoN7mZhzkp2yjrbezaXNgBQW45TDzS6TLSLDYfMQZ5ZfjqGuBB97lo4axu6O57Faa9b+bW9BBFE0oebUulA7ew==";
//        String a ="KVwFlVczgXz97zC1qIGti4I6mZfRLnrPDc8PSQCxkrCt3nY75SyADqcnECddJ+wdTPg4yPUVFQwV1fRVUY8OJLknS1QaHh+Gphz4CiTjtNETFJEngm3Je7aBlZmx8jdDlSpRqw7Mwiw18KtbFrsCtQXuILBcFCEYz4cSVPLGErw=";
//        RSA rsa = new RSA(PRIVATE_KEY, null);
//        byte[] decrypt = rsa.decrypt(Base64.decode(a), KeyType.PrivateKey);
//        System.out.println(new String(decrypt));//私钥加密
//        RSA rsa = new RSA();
//        System.out.println("getPrivateKeyBase64: "+rsa.getPrivateKeyBase64());
//        System.out.println("getPublicKeyBase64: "+rsa.getPublicKeyBase64());
//        byte [] encrypt=rsa.encrypt("Dalian Explorers", KeyType.PrivateKey);
//        System.out.println(Base64.encode(encrypt));//公钥解密String PUB_KEY ="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDE/cAp9R/JWzUZxRkRsTBfO7ciIAchtEPte3EJ250QuSjJkpOhHMZYPqShA68iaK3RcLfeuHASLIwjgwf88oNwM2qy3GKjo4tIRiE1EnwTFl1n2chatTn1CUfOIvhXIlTpstfr1bdCrNzGcz84w+xJyY3G4cNwXRAQfX80s5btlwIDAQAB";String a ="p47n9oijcNXbUF1+fH6VtifiO8+zLBibeOUJfjLUVyMsT95D6fu3ofIVj7NQSHBAVwMmWZeMZUj3aHQYVloktLzxu7CccVLuPJXAqELIyB5thcasg0Vlrry1lcBLX3hHKppHp5aW+C5vx9+vZXugXgJex8zYrxIOOzPiF+Zg5qM=";RSA rsa = new RSA(null, PUB_KEY);long start=System.currentTimeMillis();byte[] decrypt = rsa.decrypt(Base64.decode(a), KeyType.PublicKey);System.out.println(new String(decrypt));long end=System.currentTimeMillis();long time_seconds=(end-start);System.out.println("耗时: "+time_seconds+" 毫秒");//公钥加密Excel文件
//        RSA rsa = new RSA();
//        System.out.println("getPrivateKeyBase64: "+rsa.getPrivateKeyBase64());
//        System.out.println("getPublicKeyBase64: "+rsa.getPublicKeyBase64());
//        ;
//        byte [] encrypt=rsa.encrypt(FileUtil.readBytes("C:\\Users\\li_yaohua_ext\\Desktop\\July.xlsx"), KeyType.PublicKey);
//        FileUtil.writeBytes(encrypt,"C:\\Users\\li_yaohua_ext\\Desktop\\July_encrypt.xlsx");//私钥解密Excel
//        String PRIVATE_KEY ="MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAIRGfJI25hlU2v2Yoq9BSPCLu/F1nvOYXRNBxhcAKf4OFNHyAO744CLBxaHqHvYVSyCMgOOJQ8YT+td5SfMMAWrZfi2xsevgo03v1uHlalITi68PYYSI1+0d74ScCIlcmnnb0Be0R97gtoCzLw4s9G+sV2aEb49bONCbRhQcuw3DAgMBAAECgYAGN+4ZTZ1pqXSWIXvcc1xDer4+LsJnP01430m5wRc4S18tM4xZr7eRyrxIzWHhPcUHZbOVftmB0WSkhp40X+cdFjf+jkd7C91zq/spHIx1IiKhD9dNdOhOlDQbIrKnytSPlhElJrfYKkocVKsBC1zqAm0lPwynqPwrnUaD9wi/AQJBAN7EL2ZhCxCLYt0tF1310PKZFWLpy9I9rquLuVGqO8FgnleXBsx9aNVRjCWzUW2Wzgkn/xp0XI//ws1cYxwxE4ECQQCYAkzf4K4EJj+KE85gGzWM+/ka3SZKmvOKWIx9pvdRlDmFqGNs0XNKmlSffG0Ip4zrdeQy5p3Crb7U9vdAIHNDAkEAlDQvWMx9QP+KwZ0rK57L6WqBOPJUYMYavBRUMYmxAaFXFuzqYAebRDhhpf9b0C4BW0QZyy7ZGhBNOLUbVvkrgQJANnz8mXOsbQhY1mHrJEAcngDkdmC3jR6mFf1PvurO1ItRYzvNCAC8Vw2jL9gmLWgB95U2y5gnDNXDBgvQ7Ue0iQJBANc1Ajn3QFbCbGijbeDxXgMrbnMg1ozTITpE5AGxWWlDF8gP1Ft43qq2XL8/AWuNk7HAb1j+mhvMKauEewiaKTU=";
//        RSA rsa = new RSA(PRIVATE_KEY, null);
//        long start=System.currentTimeMillis();
//        byte[] decrypt = rsa.decrypt(FileUtil.readBytes("C:\\Users\\li_yaohua_ext\\Desktop\\July_encrypt.xlsx"), KeyType.PrivateKey);
//        FileUtil.writeBytes(decrypt,"C:\\Users\\li_yaohua_ext\\Desktop\\July_decrypt.xlsx");
//        long end=System.currentTimeMillis();
//        long time_seconds=(end-start)/1000;
//        System.out.println(time_seconds);}
}

Hutools 非对称加密RSA文本和Excel文件加密练习

非对称加密RSA文本和Excel文件加密练习相关推荐

  1. java对excel加密_java poi对Excel文件加密

    @SuppressWarnings("deprecation") @Override public InputStream exportItemProjectExcel(List ...

  2. 【转载】WPS通过设置密码的方式对Excel文件加密

    有时候Excel文件中可能包含一些敏感数据,此时希望对Excel文件进行加入密码的形式进行加密保护,在WPS软件和Office Excel软件中都支持对Excel文件进行密码保护,设置了密码保护的Ex ...

  3. win11文件夹怎么加密?win11系统自带文件加密的方法步骤

    win11文件夹怎么加密?win11系统自带文件加密的方法步骤!升级Win11系统之后,因为换了新的系统,界面变了,设置改变了许多,所以很多功能不会使用了.比如今天要给大家说的,win11怎么给文件夹 ...

  4. 设计文件加密服务器,如何设计数据库文件加密系统

    据有关资料报道,计算机犯罪80%来自系统内部.实现数据库文件加密以后,各用户(或用户组)的数据用自己的密钥加密,其他用户无法对其进行解密,保护了用户的秘密.另外,数据库的备份内容也可以是密文,能够减少 ...

  5. python读取加密excel_python使用pywin32模块给excel文件加密解密

    import win32com.client "' 本脚本加密解密excel只适用于windows平台 "' def decrypt_excel(encrypt_excel_pat ...

  6. Excel文件加密方式有几种?

    Excel文档的密码也有两种:一种是打开密码,一种是编辑限制,那么两种加密方式有哪些不一样呢? 首先是excel文件设置打开密码,是在打开文件的时候需要输入密码,保护文件内容不被其他人看到.当我们输入 ...

  7. 勒索病毒服务器文件加密后缀,WannaCry勒索病毒文件加密密码结构

    引言勒索病毒Wannacry爆发已经过去一周了,由于该病毒采用加密用户文件方式进行勒索,许多朋友对该病毒文件加解密过程比较感兴趣.在已见到的病毒分析报告[1-4]中对文件加解密过程描述的比较零散.为便 ...

  8. excel emoji php,PHP导出带有emoji表情的文本到excel文件出问题了

    前段时间做了一个导出用户信息(包含微信昵称)到excel文件的功能,一直没问题,今天突然有人反馈说导出来的数据有一些丢失了.我试了一下,发现有些数据导出没问题,有些有问题,某些列出现了空白,数据打印出 ...

  9. oracle中导出查询结果,Oracle SQL 查询结果导出到文本或Excel文件方法

    (MEMO:利用spool缓冲池技术) 具体步骤如下: 1.在Oracle PL/SQL中输入缓冲开始命令,并指定输出的文件路径和文件名 spool d:\output.txt 2.在命令中输入相应的 ...

最新文章

  1. Python:Item Pipeline
  2. 用python读写excel(xlrd、xlwt)
  3. 你真的会学习吗?从结构化思维说起
  4. python 对话框的创建及调用_单击按钮创建新对话框
  5. Python猫荐书系列之七:Python入门书籍有哪些?
  6. 简明 Python 教程学习笔记_2_函数
  7. 产品经理如何让程序员放下手中的刀?
  8. BFS广度优先算法, DFS深度优先算法,Python,队列实现,栈实现
  9. 利用syslinux制作Dos、WinPE、Slax Linux集成u盘
  10. python基础01day
  11. [STC单片机] STC32G单片机双CAN通信测试
  12. 人生定位 读后感(1)
  13. Axure获取焦点和触发事件
  14. 用php求常见图形的面积,技巧:数学图形面积计算的十种方法!
  15. Docker运维笔记-Docker端口映射
  16. oracle sql 分组,排序备忘
  17. 行情 api php,股票实时数据接口说明,股票实时行情api接口
  18. 【饭谈】谈谈所有人都曾经对测开技术的迷茫和恐惧
  19. 陈省身文集51——闭黎曼流形高斯-博内公式的一个简单的内蕴证明
  20. matlab三维绘图注释,Matlab三维绘图与图形处理

热门文章

  1. python京东预约抢购_Python参考代码:京东抢券脚本
  2. 后端/Java/大数据/C++ 校招内推面经
  3. win10进入bios步骤
  4. ZOJ1516HDU1507(二分图匹配)
  5. BIOS INT中断整理
  6. HCIE--路由交换--IGP部分实验详解
  7. android textview设置图片大小,修改Textview内图片文字间距和图片大小
  8. 手机游戏开发现状分析
  9. 孩子教育,不要只看重分数!
  10. Thingworx - 导航