首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.security AES加密密钥长度

java.security AES加密密钥长度
EN

Stack Overflow用户
提问于 2013-10-22 04:20:24
回答 2查看 17.1K关注 0票数 3

当密钥长度为128位时,一切正常。但是当我使用长度为192或256位的密钥时,我得到了以下异常。

代码语言:javascript
复制
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/之后,我仍然得到相同的异常。

EN

回答 2

Stack Overflow用户

发布于 2013-10-22 04:25:28

Java的默认最大强度为128位。

您需要的是一组文件,称为Java加密扩展()无限强度管辖策略文件,目前可从Java SE download page获得。此压缩文件包含两个策略jars,您需要将它们复制到JRE的{java.home}/jre/lib/security目录中已有的策略jars之上。

这将允许您更改128位以上的密钥强度

票数 15
EN

Stack Overflow用户

发布于 2013-10-22 04:24:33

您使用的是什么Java实现?

如果您查看文档(如here),就会发现它们可能只支持特定的密钥长度。这个只支持128位。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19503926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档