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.jar、US_export_policy.jar)做了相應限制。因此存在一些問題:
●密鑰長度上不能
●部分演算法未能支援,如MD4、SHA-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