文档章节

使用Hutools的对称加密时出现的一个问题

娑婆丶
 娑婆丶
发布于 05/17 16:26
字数 421
阅读 7
收藏 1

首先 这不是Hutools的一个bug

而是pdfbox-app这个组件的bug 

在2.0.0版本的pdfbox-app jar包中 集成了一个叫 bouncycastle的加密工具包(貌似是个jdk级别的jar)的源代码,pdfbox直接将其源码都写在自己jar里

所以我们这项目里其他的关于bouncycastle加密包的引用都取消了,这也就是问题导致的原因,pdfbox-app.jar包由于自身问题,以及bouncycastle本身的特性,就是会检测自身所在jar的签名是否有效,所以pdfbox-app.jar 的 2.0.0 版本的签名不知道为什么,无法通过检测,所以导致,加密不能使用抛出那个什么 jce 什么 cannot 啥的异常

简单点说就是,bouncycastle这个组件会对自身jar包进行签名检测,不符合就会抛异常,而pdfbox-app 2.0.0 集成了这个组件的所有源代码,而且在签名上没处理好,导致我们无法使用这个组件来加密,hutools加密代码底层有用到bouncycastle所以就无法运行加密了。

解决方式很简单 将pdfbox-app的版本由 2.0.0 改为2.0.13或者其他版本,问题解决。

顺便提一句,Hutools这个工具包真的很好用,为贡献者们点个赞,感谢你们的贡献。

© 著作权归作者所有

娑婆丶
粉丝 3
博文 12
码字总数 6389
作品 0
私信 提问
网络协议——对HTTPS的简单理解

摘要:本文尝试一步步还原HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样。但是这并不代表HTTPS的真实设计过程。在阅读本文时,你可以尝试放下已有的对HTTPS的理解,这样更利于“还原”...

小八路2222
03/10
0
0
https原理通俗了解

摘要:本文尝试一步步还原HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样。但是这并不代表HTTPS的真实设计过程。在阅读本文时,你可以尝试放下已有的对HTTPS的理解,这样更利于“还原”...

cccyb
2018/03/09
0
0
媒体宣传的量子加密的概念有错误

目前我国在量子信息学领域的进步很大,媒体也是大加报道,但我发现有些新闻稿的关于量子加密的描述有误,比如:量子计算机可破解当前使用的所有加密算法。 加密算法分为对称加密和非对称加密...

haierccc1
2017/06/25
0
0
golang 部署在服务器,并且安装SSL证书,Https请求

安装go 巧妇难为无米之炊,第一步当然是先在服务器安装go喽, 试试http请求 我使用FileZilla将本地的一个main.go文件拖到服务器。 然后输入自己的域名http://www.ljbniubi.top,就可以看到 ...

iOS小白白
2018/04/21
0
0
Android--Https编程

概述 SSL(Secure Sockets Layer 安全套接层),为网景公司(Netscape)所研发,用以保障在Internet 上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取...

sealin
2017/12/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ConcurrentHashMap统计单词出现的次数

/** * 统计单词出现的次数 * @author wucj * @date 2019-06-27 11:35 **/public class WordsCount { private final HashMap<String,Long> wordCountHashMap = new HashMap<......

若杰
1分钟前
0
0
人工智能助力金融监管

  党的十九大报告提出,“建设现代化经济体系,必须把发展经济的着力点放在实体经济上,把提高供给体系质量作为主攻方向…推动互联网、大数据、人工智能和实体经济深度融合,在中高端消费、...

琴殇的
9分钟前
0
0
清空linux日志

1、查看当前目录下各个文件及目录占用空间大小 du -sh * 2、清空log文件 > catalina.out ps //查看系统中文件的使用情况df -h//查看当前目录下各个文件及目录占用空间大小du -sh *...

一只小青蛙
13分钟前
0
0
Java对Emoji表情编码与解码

Java对Emoji表情编码与解码,使用到Java Emoji Converter 。 GitHub地址:https://github.com/binarywang/java-emoji-converter maven依赖 <dependency> <groupId>com.github.binarywa......

皮皮猫32
15分钟前
0
0
shell中脚本参数传递的两种方式

方式一:$0,$1,$2.. 采用$0,$1,$2..等方式获取脚本命令行传入的参数,值得注意的是,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${10},${1...

覃光林
18分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部