1. 程式人生 > >java中的AES 256演算法遇到 Illegal key size or default parameters錯的解決辦法

java中的AES 256演算法遇到 Illegal key size or default parameters錯的解決辦法

應用用到了jdk的BASE64的AES加密,需要替換jdk的兩個jar包

參考:http://www.cnblogs.com/yaks/p/5608358.html

 報錯資訊:

Caused by: java.security.InvalidKeyException: Illegal key size or default parameters

問題原因:

Java幾乎各種常用加密演算法都能找到對應實現。因美國的出口限制,Sun過權限檔案(local_policy.jarUS_export_policy.jar)做了相限制。因此存在一些問題

鑰長度上不能

滿足需求(如:java.security.InvalidKeyException: Illegal key size or default parameters);

部分演算法未能支援,如MD4SHA-224等演算法;

●API使用起來不是很方便;一些常用的轉換輔助工具未能提供,如Base64編碼轉換、十六進位制編碼轉換等工具。

Oracle在其官方網站上提供了無政策限制限檔案(Unlimited Strength Jurisdiction Policy Files),我只需要將其部署在JRE環境中,就可以解決限制問題。

解決方法:

 

http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters

JDK8 jar包下地址:

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

JDK7 jar包下地址:

http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

JDK6 jar包下地址:

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

把裡面的兩個jar包:local_policy.jar

US_export_policy.jar 掉原來jdk安裝目C:\Program Files\Java\jre6\lib\security 下的兩個jar包接可以了