用了一个加密算法 反正就是给个key+secret 加密成另外一段文字 不关心加密过程,

前几天都能加密成功,今天运行加密程序直接就报错了。。Illegal key size or default parameters

Exception in thread "main" java.security.InvalidKeyException: Illegal key size or default parameters
    at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1026)
    at javax.crypto.Cipher.implInit(Cipher.java:801)
    at javax.crypto.Cipher.chooseProvider(Cipher.java:864)
    at javax.crypto.Cipher.init(Cipher.java:1249)
    at javax.crypto.Cipher.init(Cipher.java:1186)
    at com.tencent.s2.util.EncryptAESUtil.getCipher(EncryptAESUtil.java:32)
    at com.tencent.s2.util.EncryptAESUtil.encrypt(EncryptAESUtil.java:17)
    at com.tencent.s2.util.EncryptAESUtil.main(EncryptAESUtil.java:52)

不多说 直接百度。

报错 Illegal key size or default parameters - 码农教程

大多数都和这个说的差不多,反正就是要替换jdk 下的两个文件。

但是这里我有一个疑问了。

1.我之前能够获取到加密后的字符串,现在获取不到

2.这个jar我部署到服务器了,目前服务还是能正常加密。

问题1 为啥我之前可以现在不行?

感觉最近也没动过这个类,看了git也是原样。那么问题出在哪呢?灵机一动,因为idea有时候会自己有个默认的jdk版本,是不是我换到其他工程的时候改过这些设置呢?

 目前是java8报错!!!

但是当我切换到java11的时候就好了

 

问题2 为什么服务器上的可以呢?难道也是java11

  

 再看看本地的jdk8

 两者一对比就知道问题出在哪了吧。 服务器上的jdk版本是特供的呀。。。

当然上面文章的解决办法也是可以的替换本地的和服务器的这个policy.jar。

说到底还是吃了懒得亏。一直用jdk8.现在jdk13都出来一年多了。。。实在是学不动了

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐