Ich hatte bereits eine Frage dazu gestellt, die aber nicht richtig beantwortet wurde und zu nichts führte.
Ich habe also einige Details zum Problem geklärt und würde gerne Ihre Ideen hören, wie ich das Problem beheben kann oder was ich versuchen sollte.
Ich habe Java 1.6.0.12 auf meinem Linux-Server installiert und der folgende Code läuft einwandfrei.
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);
}
Heute habe ich Java 1.6.0.26 auf meinem Server-Benutzer und wenn ich versuche, meine Anwendung auszuführen, erhalte ich die folgende Ausnahme. Ich vermute, dass es etwas mit der Java-Installationskonfiguration zu tun hat, da es in der ersten Version funktioniert, in der späteren Version aber nicht mehr.
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
Zeile 25 ist: c.init(Cipher.DECRYPT_MODE, secretKeySpec);
Anmerkungen:
* java.security auf dem Server 1.6.0.12 java-Verzeichnis stimmt fast vollständig mit dem 1.6.0.26 java.security-Datei. In der ersten Datei gibt es keine zusätzlichen Anbieter.
* Die vorherige Frage lautet aquí .