栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

jdk1.8.0是哪个版本(jdk1.8.0_222安装)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jdk1.8.0是哪个版本(jdk1.8.0_222安装)

 欢迎光临我的博客查看最新文章: https://river106.cn

调用第三方接口,对数据进行AES加密时,报错如下:

java.security.InvalidKeyException: Illegal key size

1、为什么会出现这个报错?

JDK中包含有JRE(Java Runtime Environment,即:Java运行环境),JRE中包括Java虚拟机(Java Virtual Machine)、Java核心类库和支持文件,而我们今天要说的主角就在Java的核心类库中。在Java的核心类库中有一个JCE(Java Cryptography Extension),JCE是一组包,它们提供用于加密、密钥生成和协商以及 Message Authentication Code(MAC)算法的框架和实现,所以这个是实现加密解密的重要类库。

在我们安装的JRE目录下有这样一个文件夹:%JAVE_HOME%jrelibsecurity(%JAVE_HOME%是JDK安装路径),其中包含有两个.jar文件:“local_policy.jar ”和“US_export_policy.jar”,这两个jar包就是我们JCE中的核心类库了。JRE中自带的“local_policy.jar ”和“US_export_policy.jar”是支持128位密钥的加密算法,而当我们要使用256位密钥算法的时候,已经超出它的范围,无法支持,所以才会报:“java.security.InvalidKeyException: Illegal key size”的异常。

2、解决方案

一般针对jdk1.6,jdk1.7, jdk1.8,这个问题可以去博客 https://blog.csdn.net/dafeige8/article/details/76019911 找到解决方案,需要下载对应的“local_policy.jar ”和“US_export_policy.jar”两个文件替换掉自己%JAVE_HOME%jrelibsecurity文件夹下对应的原文件;

不过针对jdk1.8.0_151版本稍微不一样,%JAVE_HOME%jrelibsecurity下多了个policy文件夹:

policy下有2个文件夹limited和unlimited:

├── limited
│   ├── local_policy.jar
│   └── US_export_policy.jar
└── unlimited
    ├── local_policy.jar
    └── US_export_policy.jar

从Java 1.8.0_151和1.8.0_152开始, 提供了 无限制强度管辖策略, 默认是不启用的,简单修改下配置即可启用:

在 %JAVE_HOME%jrelibsecurity 文件夹下找到 java.security 文件,在826行左右会有如下配置:

#crypto.policy=unlimited

去掉前面的#,重启Java应用即可。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773696.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号