Java默认不支持AES256

默认Java的AES最大支持128bit的密钥,如果使用256bit的密钥,会抛出一个异常:


java.security.InvalidKeyException: Illegal key size

其实Java官网上提供了解决方案,需要下载“Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files for JDK/JRE 8”,替换JDK/JRE里的2个jar包。

下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

JCE的入口在JavaSE页面向下拉,找到“Additional Resources”,里面就能看到:

下载会得到一个zip包,将里面的local_policy.jar和US_export_policy.jar解压到JDK安装目录\jre\lib\security下覆盖原文件即可,独立JRE的话也是覆盖相同路径的文件。

时间: 2024-11-06 03:06:14

Java默认不支持AES256的相关文章

序列化之Java默认序列化技术(ObjectOutputStream与ObjectInputStream)

Java默认序列化技术 主要是通过 对象输出流java.io.ObjectOutputStream 对象输入流java.io.ObjectInputStream 来实现的 package com.xingej.ser; public interface ISerializer { // 序列化,将obj序列化成字节数组 public <T> byte[] serialize(T obj); // 反序列化,将字节数组,反序列化为T public <T> T deserialize(

Java 8 语言功能支持更新(转载)

几天前,我们发布了 Android Studio 2.4 Preview 6.现在,在 javac/dx 编译路径中,Java 8 语言功能将得到 Android 构建系统的支持.Android Studio 的 Gradle 插件现在对 Java 8 类文件进行"脱糖"处理,仅保留与 Java 7 兼容的类文件,因此,您可以使用 Java 8 的 lambda.方法引用及其他功能. 对于尝试 Jack 编译器的开发者而言,我们现在支持相同的 Java 8 语言功能集,但构建速度更快.

【实习记】2014-08-14新版本的apache已默认不支持cgi+C语言中的scanf未解之迷

总结1:ubuntu14.04上的apache2.4.7默认没有cgi模块,而ubuntu10.04是的apache2.2.14默认是有的. 起因:每次都用ubuntu14.04上的VBox里运行的ubuntu10.04上的apache2,感觉略麻烦,于是直接在ubuntu14.04上装个apache2. 发现/cgi-bin/里的cgi总是404,反复确认配置目录没错. 怀疑权限问题(但一般会是5XX而不是404),最后无果. 搜索多次,资料不多,最后找到线索和答案,就是默认不支持了,对于开源

Eclipse对于多个Java项目的支持并不友好!

本文吐槽! 假设我们创建两个Java项目,一个叫StatsReader,把数据从网上下载到本地数据库里:一个叫StatsViewer,把数据从数据库里拿出来呈现给用户.这两个项目都要用同一个外部类库mysql-connector-java-5.0.8-bin.jar. Eclipse可以创建一个工作集,内含多个Java项目,但工作集只是一个概念,与项目的实际存储位置无关.但是我们可以把两个项目放在同一个目录里,比如D:\Source Code\NBA\StatsReader和D:\Source

Atitit. 软件---多媒体区---- jmf 2.1.1 Java Media Framework 支持的格式

Atitit. 软件---多媒体区---- jmf 2.1.1 Java Media Framework 支持的格式 JMF,全名为Java Media Framework,它可以在java applet和application中使用音频,视频或者其他基于时间的多媒体.JMF所支持的多媒体格式如下:AIFF(.aiff),AVI(.avi),GSM(.gsm),HotMedia(.mvr),MID(.mid),MPEG-1(.mpg)(即常见的VCD文件),MPEG-2(.mp2)(即常见的DV

java验证,”支持6-20个字母、数字、下划线或减号,以字母开头“这个的正则表达式怎么写?

转自:https://yq.aliyun.com/wenzhang/show_96854 问题描述 java验证,"支持6-20个字母.数字.下划线或减号,以字母开头"这个的正则表达式怎么写? 验证"支持6-20个字母.数字.下划线或减号,以字母开头"的正则表达式怎么写,谢谢亲们的帮助··················· 解决方案 ^[a-zA-Z][a-zA-Z0-9_-]{519}$ 原文地址:https://www.cnblogs.com/sharpest/

Java基本网络支持

1.Java为网络支持提供了java.net包,该包下的URL和URLConnection等类提供了 以编程方式访问WEB服务 的功能: 2.URLDecoder.URLEncoder提供了 普通字符串 和 application/x-www-form-urlencoded MIME字符串 相互转换的静态方法: 3.[InetAddress] 1.1 Java使用InetAddress代表IP地址,InetAddress有2个子类:Inet4Address.Inet6Address 1.2 In

Java默认提供的线程池

Java的线程池都是通过ThreadPoolExecutor来构建. public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory, RejectedExecutionHandler handler) { if (corePoolSi

关于Java函数不支持参数默认值的讨论,最后一条亮了 2333