最近在项目中对敏感信息进行加密处理,其中用到PBE算法,因为是多年前就做好的一套加解密工具,所以ctrl+c/v就用到新项目里,但是运行之后被打脸报错了,错误信息为上述内容,纠结了一整天,终于解决记录一下。
工具 | 版本 | 说明 |
---|---|---|
JDK | 1.8.0.381 | 没有使用第三方加密包 |
项目报错内容如标题:
java
java.security.InvalidAlgorithmParameterException:Missing parameter type: IV expected
- 百度基本都是说缺少参数,请补充参数IV,都很详细,请首先确认是否有该参数。
- JDK版本升级后的安全领域开放权限问题,见我另外一个帖子,反复确认没问题。
- 因为之前正常,决定降级JDK到之前常用版本,依然报错,但是错误变成了
java
java.security.InvalidAlgorithmParameterException: Salt must be 8 bytes long
离了个大普!测试发现长度确实不对,所以改个长度为8字节的就ok了。