用AES加密時出現"java.security.InvalidKeyException: Illegal key size"異常。
如果密鑰大於128, 會拋出上述異常。因爲密鑰長度是受限制的, java運行時環境讀到的是受限的policy文件,文件位於/jre/lib/security下, 這種限制是因爲美國對軟件出口的控制。
解決辦法也很簡單:
將下面jar包下載下來,替換jdk 與jre下兩個jar包:local_policy.jar和US_export_policy.jar即可。
- jdk對應jar包的路徑:D:\Java\jdk1.7.0_25\jre\lib\security
- jre對應jar包的路徑:D:\Java\jre7\lib\security