Java安全性:密钥大小非法还是默认参数?

早些时候我问了一个问题,但没有得到正确的回答,结果一无所获

因此,我已经澄清了一些关于这个问题的细节,我真的很想听听你关于如何解决这个问题或我应该尝试什么的想法

我的Linux服务器上安装了Java1.6.0.12,下面的代码运行得非常完美

String key=“av45k1pfb024xa3bl359vsb4esortvks74sksr5oy4s5serondry84jsrryuhsr5ys49y5serie5shrdliheuirdyliurgui5ru”;
试一试{
Cipher c=Cipher.getInstance(“ARCFOUR”);
SecretKeySpec SecretKeySpec=新的SecretKeySpec(key.getBytes(“UTF-8”),“ARCFOUR”);
c、 init(Cipher.DECRYPT_模式,secretKeySpec);
返回新字符串(c.doFinal(Hex.decodeHex(data.toCharArray()),“UTF-8”);
}捕获(InvalidKeyException e){
抛出新的加密异常(e);
}

今天,我在我的服务器用户上安装了Java1.6.0.26,当我尝试运行我的应用程序时,出现了以下异常。我猜想它与Java安装配置有关,因为它在第一个版本中工作,但在以后的版本中不工作

原因:java.security.InvalidKeyException:非法密钥大小或默认参数
在javax.crypto.Cipher.a(DashoA13*)~[na:1.6]
在javax.crypto.Cipher.a(DashoA13*)~[na:1.6]
在javax.crypto.Cipher.a(DashoA13*)~[na:1.6]
在javax.crypto.Cipher.init(DashoA13*)~[na:1.6]
在javax.crypto.Cipher.init(DashoA13*)~[na:1.6]
在my.package.Something.decode(RC4Decoder.java:25)~[my.package.jar:na]
... 省略了5个公共框架

第25行是:
c.init(Cipher.DECRYPT_模式,secretKeySpec)

备注:
*服务器1.6.0.12java目录上的java.security几乎与1.6.0.26java.security文件完全匹配。第一个提供商中没有其他提供商。
*前面的问题是这里

发表评论