• 青春里,总有些事情要努力去做,总有些梦想要拼命去追,无需计较得失,只要青春无悔。
  • 一切成就都缘于一个梦想和毫无根据的自信。
  • 把你的全部思想用来做你想做的事,而不要留半点思维空间给那些胡思乱想的动机。
维帝个人头像
维帝
相信梦想是价值的源泉,相信眼光决定未来的一切,相信成功的信念比成功本身更重要,相信人生有挫折没有失败,相信生命的质量来自决不妥协的信念。
QQ: 1031055227
微信: qingv587
邮箱: veddy@qq.com

java.security.InvalidKeyException: Illegal key size错误


新使用了AES的256位密钥加解密,项目上线后发现生产在加密的时候报java.security.InvalidKeyException: Illegal key size错误,而本地和测试环境都是没问题的。 产生错误原因:为了数据代码在传输过程中的安全,很多时候我们都会将要传输的数据进行加密,然后等对方拿到后再解密使用。我们在使用AES加解密的时候,在遇到128位密钥加解密的时候,没有进行什么特殊处理;然而,在使用256位密钥加解密的时候,如果不进行特殊处理的话,可能会因为jdk版本的问题出现这个异常java.security.InvalidKeyException: Illegal key size。 为什么会产生这样的错误? 我们做Java开发,都会先在电脑上安装JDK(Java Development Kit) 并配置环境变量,JDK中包含有JRE(Java Runtime Environment,即:Java运行环境),JRE中包括Java虚拟机(Java Virtual Machine)、Java核心类库和支持文件,而我们今天要说的主角就在Java的核心类库中。在Jav...

 Java

串口通信gnu.io包不存在


idea启动带有串口通信模块项目时一直报错 gnu.io包不存在 项目无飘红 包也已经正常引入,排查摸索发现,原因是jre环境未安装相应的dll文件以及jar文件未拷贝至ext目录,将下载好的文件复制到对应地址即可解决。 RXTX包及相关文件下载地址 下载地址 http://fizzed.com/oss/rxtx-for-java 具体操作: 1.下载系统相应的RXTXcomm。 2.将rxtxSerial.dll、rxtxParallel.dll复制到\jre\bin目录下。 将RXTXcomm.jar复制到\jre\lib\ext目录下。 还需要把rxtxParallel.dll、rxtxSerial.dll引入系统环境:C:\WINDOWS\system32下。

 Java

Java项目中修复Apache Shiro 默认密钥致命令执行漏洞(CVE-2016-4437)详细说明


1.漏洞说明 1.1阿里云漏洞短信内容 1.2阿里云漏洞详细报告 2.详细修复步骤 2.1下载漏洞验证工具 漏洞验证工具: https://github.com/wyzxxz/shiro_rce ,或者从 http://www.zrscsoft.com/sitepic/12120.html 中下载 下载的shiro_tool.jar文件,建设保存在D:\download目录,即 根据阿里云漏洞报告, 执行D:\work\jdk1.8.0\bin\java.exe -jar shiro_tool.jar http://{您的IP地址}命令, 具体如下: D:\download>D:\work\jdk1.8.0\bin\java.exe -jar shiro_tool.jar http://{您的IP地址}[-] target: http://{您的IP地址}[-] target is use shiro[-] start guess shiro key...[-] use shiro key: kPH...

 Java  Shiro  漏洞修复

Java + JavaScript 实现前后端AES加密解密传输


JavaScript的加密和解密用的是google的CryptoJS库。本文以AES/ECB/NoPadding为例展示AES加密和解密的方法。 需要下载CryptoJS库,下载地址如下: https://github.com/sytelus/CryptoJS 需要引入库文件: <script src="./CryptoJS-master/rollups/aes.js"></script><script src="./CryptoJS-master/components/mode-ecb.js"></script><script src="./CryptoJS-master/components/pad-nopadding.js"></script> 前端代码 const key = CryptoJS.enc.Utf8.parse("1234567890ABCDEF"); //十六位十六进制数作为秘钥const iv...

 Java  JavaScript  Aes

钉钉SDK包导入项目踩坑留念


最近接了个需求,推送文件给钉钉群组,看了一下钉钉的API,下载SDK包,粘API的代码直接就能用,real方便. 钉钉SDK包没有maven地址,所以使用了本地jar包,于是将jar和source放置在了src/lib下: <!--钉钉工具包--> <dependency> <groupId>com.taobao.top</groupId> <artifactId>top-api-sdk-dev</artifactId> <version>ding-open-mc-SNAPSHOT</version> <scope>system</scope> <systemPath>${pom.basedir}/src/lib/taobao-sdk-java-auto_1479188381469-20190814.jar</systemPath> </depe...

 Java  SDK  Maven  SpringBoot

使用Html2Image报错Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable


【问题】 centos上的tomcat报错 Exception in thread "http-bio-8080-exec-6" java.lang.InternalError: Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable 前台问题是页面的验证码图片加载不出来,而且报500错误  【原因】 因为用到了图形处理,java程序会去寻找linux上的图形界面是否启动  【解决办法】 不让java寻找linux图形界面即可,在java启动时加选项java -Djava.awt.headless=true 在/usr/local/tomcat/bin/catalina.sh中开头添加如下参数 JAVA_OPTS=-Djava.awt.headless=true  【我的tomcat实际效果】 /usr/local/tomcat/bin/catalina.sh  开头加入 JAVA_OPTS="$JAVA_OPTS -XX:Per...

 Java  Html2Image

Solr笔记(5).Solr使用IK-Analyzer中文分词器


Solr配置中Core目录下的conf/managed-schema里面type类型为text_general的就是分词器 下图是Solr自带的默认分词器分词后的结果(默认分词器分解英文是正常的,分解中文是将中文分成一个一个字) IK-Analyzer在Github上的Jar包 https://github.com/magese/ik-analyzer-solr 单机版Solr 将jar包放入Solr服务的Jetty或Tomcat的webapp/WEB-INF/lib/目录下; 将resources目录下的5个配置文件放入solr服务的Jetty或Tomcat的webapp/WEB-INF/classes/目录下;(这五个配置文件位于Jar包根目录中,需要从Jar包中解压出来) IKAnalyzer.cfg.xml ext.dic stopword.dic ik.conf dynamicdic.txt 配置Solr的managed-schema,添加ik分词器,示例如下; <!-- ik分词器 --><fieldType name=&qu...

 Java  Solr

Solr笔记(4).Solr Admin管理页面的CRUD-查询


查询 进入Solr Admin面板后,选择自己创建的Core,再点击Query面板 右侧为查询参数,按格式填写后点击底部的查询即可 主要的查询参数说明:   q (query) 查询的关键字,此参数最为重要,例如q=id:1,默认为q=*:*   fq (filter query) 过滤查询,提供一个可选的筛选器查询.返回在q查询符合结果中同时符合的fq条件的查询结果,例如:q=id:1&fq=sort:[1 TO 5],找到关键字id为1的,并且sort是1到5之间的.   sort 排序方式,例如price desc表示按照price降序   start 返回结果的第几条记录开始,一般分页用,默认0开始.   rows 指定返回结果最多有多少条记录,默认值为10,配合start实现分页   fl (field)指定返回哪些字段,用逗号或空格分隔,注意:字段区分大小写,例如,fl=id,title,sort   hl (highlight)...

 Java  Solr

Solr笔记(3).Solr Admin管理页面的CRUD-增删改


1.添加修改文档 进入Solr Admin页面后,选择自己创建的Core,再点击进入Documents选项. 在右侧的方框中,填写选项,如下,为Json数据. 填写完毕后点击提交即可. id在Solr中若不存在,则会进行添加,若存在,则会修改原数据. 注意:添加的这个Json数据中的每个字段,必须在Solr中有定义过才行. 2.删除文档 进入Documents选项,右侧的Document Type选择为XML 在Document(s)中填写删除条件 删除id为2的数据 <delete> <query>id:2</query></delete><commit/> 删除全部数据 <delete> <query>*:*</query></delete><commit/>

 Solr

Solr笔记(2).将Mysql的数据导入至Solr中


1. 在Solr的Core核心目录下创建一个data-config.xml data-config.xml内容 <?xml version="1.0" encoding="UTF-8" ?><dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.cj.jdbc.Driver" url="jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=GMT%2B8" user="root" password="root" encoding="UTF-8"/> <document> <e...

 Java  Solr