Java实现AES加密/解密,抛出异常如下:
java.security.InvalidKeyException: Illegal key size
原因分析:
密钥长度受限制,因为java运行时环境读到的是受限的policy文件。
policy文件位于${java_home}/jre/lib/security 目录下。
这种限制是因为美国对软件出口的控制。
解决办法:
需下载 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files,
覆盖上述目录下的对应jar文件(local_policy.jar, US_export_policy.jar)即可。
下载地址:
JDK6 JCE Unlimited Strength Jurisdiction Policy Files for JDK/JRE 6
JDK7 JCE Unlimited Strength Jurisdiction Policy Files for JDK/JRE 7
JDK8 JCE Unlimited Strength Jurisdiction Policy Files for JDK/JRE 8