나는 이것에 대해 이전에 질문을했지만, 제대로 대답하지 못했으며 아무데도 주도하지 못했습니다.
문제에 대한 몇 가지 세부 사항을 명확히 했으므로 어떻게 해결할 수 있는지 또는 무엇을 시도 해야하는지에 대한 아이디어를 듣고 싶습니다.
내가 가진 자바 1.6.0.12이 내 리눅스 서버와 바로 완벽하게 실행 아래의 코드에 설치되어 있어야합니다.
String key = "av45k1pfb024xa3bl359vsb4esortvks74sksr5oy4s5serondry84jsrryuhsr5ys49y5seri5shrdliheuirdygliurguiy5ru";
try {
Cipher c = Cipher.getInstance("ARCFOUR");
SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes("UTF-8"), "ARCFOUR");
c.init(Cipher.DECRYPT_MODE, secretKeySpec);
return new String(c.doFinal(Hex.decodeHex(data.toCharArray())), "UTF-8");
} catch (InvalidKeyException e) {
throw new CryptoException(e);
}
오늘은 서버 사용자에게 Java 1.6.0.26 을 설치 했으며 응용 프로그램을 실행하려고하면 다음 예외가 발생합니다. 제 생각에는 Java 설치 구성과 관련이 있지만 첫 번째 버전에서는 작동하지만 이후 버전에서는 작동하지 않기 때문입니다.
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]
... 5 common frames omitted
25 행 :
c.init(Cipher.DECRYPT_MODE, secretKeySpec);
참고 :
* 서버 1.6.0.12 java 디렉토리의 java.security 는 1.6.0.26 java.security 파일 과 거의 완전히 일치 합니다. 첫 번째 공급자에는 추가 공급자가 없습니다.
* 이전 질문은 여기에 있습니다 .
Caused by: java.security.InvalidKeyException: Illegal key size
(이하 "또는 기본 매개 변수"없이) 자바 8