在oarcle jdk1.8上执行256位的aes秘钥加密报错如下:

java.lang.RuntimeException: java.security.InvalidKeyException: Illegal key size

at com.xx.opal.core.utils.aes.AESTool.encryptWithoutEncode(AESTool.java:33)

at com.xx.opal.aes.AESTest.test(AESTest.java:19)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)

at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)

at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)

at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)

at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)

at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)

at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)

at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)

at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)

at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)

at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)

at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)

at org.junit.runners.ParentRunner.run(ParentRunner.java:363)

at org.junit.runner.JUnitCore.run(JUnitCore.java:137)

at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)

at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)

at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)

at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

解决方法:

方式1:添加无限制配置

策略文件下载地址(jar包)

下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt。

如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security下覆盖原来文件,记得先备份。

如果安装了JDK,将两个jar文件也放到%JDK_HOME%\jre\lib\security下。

方式2:使用openjdk版本(1.8及以下版本)

例如:

openjdk version "1.8.0_222"

OpenJDK Runtime Environment (build 1.8.0_222-b10)

OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

方式3:升级jdk版本

方式4:使用反射解除限制

方式5:使用bc非标准api

Bouncy Castle,三方类库通常包含JCE标准实现,通过添加第三方Provider后使用JCE任然不能解决问题

方式6:设置crypto.policy属性(1.8_u151版本之后的)

Security.setProperty("crypto.policy", "unlimited");

结论

最终采用了设置crypto.policy属性

mysql aes密钥大于16位_aes秘钥限制问题解决办法相关推荐

  1. 使命召唤服务器显示测速中,《使命召唤16》错误提示等常见问题解决办法

    <使命召唤16>游戏体积较大,在游玩时可能会出现一些错误提示,很影响游戏体验,可能不少玩家都在想解决这些问题,下面请看玩家"只是一只银魂狗"分享的<使命召唤16& ...

  2. mysql max字符串报错_mysql [Warning] max_join_size报错问题解决办法

    文章介绍了关于mysql [Warning] max_join_size报错问题解决办法,有需要的同学看看. 100716 06:32:45 d started 100716 6:32:45 [War ...

  3. EB tresos秘钥过期解决办法

    EB tresos的秘钥每三个月更新一次,可以在NXP的官网免费获取. 在NXP 官网搜索栏搜索S32K3 Standard Software,看到如下界面: 点击进入EB的下载地址 选择自己想要激活 ...

  4. 16位整型数据matlab,matlab的整型数据

    1. 整型数据的申明或转换 matlab里默认都是double型数据,想要使用16位有符号整数,则需要用如下命令进行转换 b = int16(a); 其它类型的函数都是相似的,如 int, int16 ...

  5. 密码算法原理与分析:RSA安全与秘钥基础设施

    本文转自网络文章,内容均为非盈利,版权归原作者所有. 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除. 原文作者:evilpan 原文地址:RSA安全与秘钥基础设施 目录 前言 RSA原理 秘钥 ...

  6. RSA安全与秘钥基础设施

    之前写过一篇对称加密与攻击案例分析,而对于非对称加密,虽然接触的时间不短了,但一直没有很系统的记录过.因此趁着国庆家里蹲的五天长假,就来好好回顾总结一下. 前言 其实从加密的定语就能看出,对称加密表示 ...

  7. git 查看自己秘钥_Git秘钥问题

    简介 在管理Git项目上,很多时候都是直接使用https url克隆到本地,当然也有有些人使用SSH url克隆到本地. 这两种方式的主要区别在于:使用https url克隆对初学者来说会比较方便,复 ...

  8. Facebook 秘钥散列

    先下载OpenSSL工具 执行这个命令 keytool -exportcert -alias androiddebugkey -keystore debug.keystore > c:\open ...

  9. PKIX path 异常 - 可以使用 Keytools 将服务端的秘钥库导入本地

    异常: PKIX path building failed (公钥绑定失败) 异常场景:使用RPC做远程调用时服务提供端使用了HTTPS 技术,而本地客户端中无任何SSL配置 异常描述:客户端未配置秘 ...

最新文章

  1. 特斯拉VS Waymo:谁将赢得无人驾驶汽车竞赛?
  2. all index range ref eq_ref const system 索引type说明
  3. 获取和设置mfc中Edit输入的文字
  4. Jmeter基础(二)
  5. Python基础之:struct和格式化字符
  6. linux系统中acpid的作用,ACPID电源按钮事件本地权限提升漏洞
  7. 中南大学计算机学院羽毛球赛,“羽你同行”交通院第六届师生羽毛球赛圆满举办...
  8. 程序员能力提升:你应该知道的那些编程原则!!
  9. 后端返回页面ajax的处理
  10. 地方微信群分享小程序源码,自带流量主独立版
  11. python常量列表_Python中实现常量(Const)功能
  12. MAC下MySQL启动不了怎么办?
  13. 在mysql上发布jbpm4.3
  14. 获得周公解梦数据接口java_周公解梦接口调用示例
  15. 一个研究生毕业以后的人生规划(ZT)
  16. 7. 敏捷软件开发框架 - 极限编程XP
  17. 安卓手机屏幕投射电脑能同步声音
  18. IntelliJ IDEA 记学习笔《Patch 创建补丁》
  19. 解决微信公众号注册提示“邮箱已被占用”(亲测)
  20. VMware Workstation Pro 12 安装黑苹果问题

热门文章

  1. 【渝粤题库】广东开放大学 Linux 形成性考核
  2. 【渝粤题库】广东开放大学 计算机英语 形成性考核
  3. 单片机常用的几种通信协议
  4. 物联网常用的组网方式浅析
  5. windows无法确定此计算机是否包含,服务器用U盘虚拟光驱装系统,有做RAID5,加载RAID驱动成功后,安装到最后会报“windows无法确定此计算机是否包含有效系统卷”错误...
  6. linux下部署mysql数据库连接_Linux远程部署MySQL数据库详细步骤
  7. Java多线程(2)--Thread类继承和Runnable接口创建线程
  8. C语言去括号编程题,去括号 - C语言网
  9. 求立方根_「每日一学」数学七上:立方根的知识要点
  10. python 中的eval与exec