國內私募機構九鼎控股打造APP,來就送 20元現金領取地址:http://jdb.jiudingcapital.com/phone.html
內部邀請碼:C8E245J (不寫邀請碼,沒有現金送)
國內私募機構九鼎控股打造,九鼎投資是在全國股份轉讓系統掛牌的公眾公司,股票代碼為430719,為“中國PE第一股”,市值超1000億元。
------------------------------------------------------------------------------------------------------------------------------------------------------------------
報錯堆棧如下:
Caused by: java.security.InvalidKeyException:Illegal key size or default parameters at javax.crypto.Cipher.a(DashoA13*..)~[na:1.6] at javax.crypto.Cipher.a(DashoA13*..)~[na:1.6] at javax.crypto.Cipher.a(DashoA13*..)~[na:1.6] at javax.crypto.Cipher.init(DashoA13*..)~[na:1.6] at javax.crypto.Cipher.init(DashoA13*..)~[na:1.6] at my.package.Something.decode(RC4Decoder.java:25)~[my.package.jar:na]
Google到問題原因,鏈接地址如下:
http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters
根據回答找到下載新jar包鏈接地址如下:
http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
把里面的兩個jar包:local_policy.jar 和 US_export_policy.jar 替換掉原來安裝目錄C:\Program Files\Java\jre6\lib\security 下的兩個jar包接可以了
然后就重新運行程序,不會報錯了,測試代碼如下:
- public class Test {
- public static void main(String[] args) throws Exception {
- KeyGenerator keyGen = KeyGenerator.getInstance("AES");
- keyGen.init(256);
- SecretKey key = keyGen.generateKey();
- ObjectOutputStream oop = new ObjectOutputStream(new
- FileOutputStream("c:\\key.dat"));
- oop.writeObject(key);
- oop.close();
- String strTest = "Hello, Jason";
- byte[] strAfterAES = encryptData(strTest.getBytes());
- System.out.println(new String(strAfterAES));
- byte[] strOriContent = decryptData(strAfterAES);
- System.out.println(new String(strOriContent));
- }
- public static byte[] encryptData(byte[] input) throws Exception {
- ObjectInputStream in = new ObjectInputStream(new FileInputStream("c:\\key.dat"));
- SecretKey aeskey = (SecretKey) in.readObject();
- Cipher c1 = Cipher.getInstance("AES");
- c1.init(Cipher.ENCRYPT_MODE, aeskey);
- byte[] cipherByte = c1.doFinal(input);
- return cipherByte;
- }
- public static byte[] decryptData(byte[] input) throws Exception {
- ObjectInputStream in = new ObjectInputStream(new FileInputStream("c:\\key.dat"));
- SecretKey aeskey = (SecretKey) in.readObject();
- Cipher c1 = Cipher.getInstance("AES");
- c1.init(Cipher.DECRYPT_MODE, aeskey);
- byte[] clearByte = c1.doFinal(input);
- return clearByte;
- }
- }
BTW:
If ur JVM is IBM JVM pls refer to the below link to update the unlimited key size jars