当密钥长度为128位时,一切正常。但是当我使用长度为192或256位的密钥时,我得到了以下异常。
java.security.InvalidKeyException: Illegal key size or default parameters
at javax.crypto.Cipher.a(DashoA13*..)
at javax.crypto.Cipher.a(DashoA13*..)
at javax.crypto.Cipher.a(DashoA13*..)
at javax.crypto.Cipher.init(DashoA13*..)
at javax.crypto.Cipher.init(DashoA13*..)我找到了这个Java Security: Illegal key size or default parameters?。但是在我下载jar文件并将其放入${java.home}/lib/security/之后,我仍然得到相同的异常。
发布于 2013-10-22 04:25:28
Java的默认最大强度为128位。
您需要的是一组文件,称为Java加密扩展()无限强度管辖策略文件,目前可从Java SE download page获得。此压缩文件包含两个策略jars,您需要将它们复制到JRE的{java.home}/jre/lib/security目录中已有的策略jars之上。
这将允许您更改128位以上的密钥强度
发布于 2013-10-22 04:24:33
您使用的是什么Java实现?
如果您查看文档(如here),就会发现它们可能只支持特定的密钥长度。这个只支持128位。
https://stackoverflow.com/questions/19503926
复制相似问题