密码输入正确登录仍失败

问题现象

  • 密码输入正确登录仍失败,后端有报错日志,会出现关键字:InvalidKeyException: Illegal key size
  • 密码解密失败原因排查

异常日志

2022-07-15 13:58:58.439  INFO 17064 --- [0.0-8090-exec-5] p.s.pamirs.user.api.utils.AES256Utils    :
java.security.InvalidKeyException: Illegal key size
    at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1039) ~[na:1.8.0_121]
    at javax.crypto.Cipher.implInit(Cipher.java:805) ~[na:1.8.0_121]
    at javax.crypto.Cipher.chooseProvider(Cipher.java:864) ~[na:1.8.0_121]
    at javax.crypto.Cipher.init(Cipher.java:1396) ~[na:1.8.0_121]
    at javax.crypto.Cipher.init(Cipher.java:1327) ~[na:1.8.0_121]
    at pro.shushi.pamirs.user.api.utils.AES256Utils.decrypt(AES256Utils.java:93) ~[pamirs-user-api-3.0.1-20220715.032940-5.jar:na]
    at pro.shushi.pamirs.user.api.crypto.DecryptAspect.decryptObj(DecryptAspect.java:81) [pamirs-user-api-3.0.1-20220715.032940-5.jar:na]
    at pro.shushi.pamirs.user.api.crypto.DecryptAspect.decryptData(DecryptAspect.java:62) [pamirs-user-api-3.0.1-20220715.032940-5.jar:na]
    at pro.shushi.pamirs.user.api.crypto.DecryptAspect.decrypt(DecryptAspect.java:44) [pamirs-user-api-3.0.1-20220715.032940-5.jar:na]

异常原因:如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size 异常. 因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件. 文件位于${java_home}/jre/lib/security, 这种限制是因为美国对软件出口的控制.
参考资料:https://www.cnblogs.com/jinloooong/p/10619353.html

解法办法

  • 1、请检查jdk版本是否高于1.8_221以上。

  • 2、如无法升级jdk版本的环境下,下载JCE无限制权限策略文件。
    请点击下载 jce_policy-8.zip 并按照如下步骤进行操作:

    • 解压jce_policy-8.zip,得到两个文件US_export_policy.jarlocal_policy.jar
    • 如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件
    • 如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件

Oinone社区 作者:望闲原创文章,如若转载,请注明出处:https://doc.oinone.top/oinone-faq/7305.html

访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验

(1)
望闲的头像望闲数式管理员
上一篇 2024年5月16日 下午2:30
下一篇 2024年5月17日 下午2:23

相关推荐

发表回复

登录后才能评论