java.security.InvalidKeyException: Illegal key size。

简介: java.security.InvalidKeyException: Illegal key size。
SecretKeySpec secretKeySpec = new SecretKeySpec(aesKey, "AES");
Cipher cipher = Cipher.getInstance("AES/CTR/NoPadding");
IvParameterSpec ips = createCtrIv(nonce);
cipher.init(1, secretKeySpec, ips);    //当代码运行到这一行时就报错了。爆出上面的异常

感到一脸懵逼,还好网络是万能的,百度一下,简单对比一下,就找到了解决方案。然后测试之后发现也是没有问题的。

异常原因:如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size 异常. 因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件. 文件位于${java_home}/jre/lib/security, 这种限制是因为美国对软件出口的控制.

解决方案:去官方下载JCE无限制权限策略文件。

jdk 5: http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPR

jdk6: http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

JDK7的下载地址: Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 Download

JDK8的下载地址: JCE Unlimited Strength Jurisdiction Policy Files for JDK/JRE 8 Download

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

如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件

如果安装了JDK,还要将两个jar文件也放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。

然后DuangDuangDuangDuang,就ok了。

相关文章
|
6月前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
51790 73
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
5月前
|
人工智能 Linux API
你的 AI 编程 CLI 配置管理工具来了
CC Switch 是一款开源跨平台桌面工具,统一管理 Claude Code、Codex、OpenClaw 等六大 AI 编程 CLI 的供应商配置、MCP/Skills、API 用量与本地路由,支持自动故障转移、安全本地存储及实时成本可视化,让多模型开发高效又省心。(239字)
1498 0
|
8月前
|
人工智能 JavaScript API
opencode 安装 -> 使用
OpenCode 是一款开源AI编程助手,支持智能代码生成与文件操作。需先安装Node.js(推荐v22),再通过scoop或npm全局安装。启动后可切换build/plan双模式,支持自定义API模型、多会话、对话导出与分享等功能。(239字)
9330 13
|
安全 算法 Java
Java报错:java.security.InvalidKeyException: Illegal key size
Java报错:java.security.InvalidKeyException: Illegal key size
1623 0
|
10月前
|
安全 Java 数据格式
java.lang.IllegalArgumentException: Cannot format given Object as a Number
本文详解 Java 中 DecimalFormat.format() 的使用方法与注意事项,涵盖格式化模式、舍入规则、线程安全、特殊字符转义及常见问题处理,提升代码健壮性与性能。
|
11月前
|
机器学习/深度学习 人工智能 前端开发
终端里的 AI 编程助手:OpenCode 使用指南
OpenCode 是开源的终端 AI 编码助手,支持 Claude、GPT-4 等模型,可在命令行完成代码编写、Bug 修复、项目重构。提供原生终端界面和上下文感知能力,适合全栈开发者和终端用户使用。
61455 11
|
安全 算法 Oracle
【Java用法】加密异常----Caused by: java.security.InvalidKeyException: Illegal key size or default parameters
【Java用法】加密异常----Caused by: java.security.InvalidKeyException: Illegal key size or default parameters
1809 0
|
前端开发 安全 Java
springboot解决跨域问题
跨域问题指前端调用与后端接口不在同一域名或端口时产生的安全限制。本文介绍两种在Spring Boot中解决跨域问题的方法:一是通过配置CorsFilter,二是实现WebMvcConfigurer接口。配置完成后重启项目即可生效。作者:博笙困了。来源:稀土掘金。
1266 6
|
Android开发
Android Studio: 解决Gradle sync failed 错误
本文介绍了解决Android Studio中出现的Gradle同步失败错误的步骤,包括从`gradle-wrapper.properties`文件中获取Gradle的下载链接,手动下载Gradle压缩包,并替换默认下载路径中的临时文件,然后重新触发Android Studio的"Try Again"来完成同步。
11022 1
Android Studio: 解决Gradle sync failed 错误