使用红讯jpass的时候,启动项目报错,提示:java.lang.IllegalArgumentException: Failed to decrypt.

提问者:帅平 问题分类:微服务
使用红讯jpaas进行二开的时候,启动项目报错,提示:
[ac-boot-app:0.0.0.0:39199] 2025-08-27 11:10:27.114 ERROR 23940 [-] [main] com.redxun.core.db.util.DataSourceUtil   : jsonAry -> [{"name":"url","comment":"连接字符串","type":"String","val":"jdbc:mysql://127.0.0.1:3306/test_jpaas_oa?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8","idx_":"ybzvmgl645068","serial":1},{"name":"username","comment":"用户名","type":"String","val":"root","idx_":"vpysups645068","serial":2},{"name":"password","comment":"密码","type":"String","val":"Redxun2022Mysql","idx_":"edtbben645068","serial":3},{"name":"driverClassName","comment":"驱动类","type":"String","val":"com.mysql.cj.jdbc.Driver","idx_":"htfpljg645068","serial":4},{"name":"connectionInitSqls","comment":"初始执行sql","type":"String","val":"","idx_":"clrxynu645068","serial":5},{"name":"initialSize","comment":"初始大小","type":"int","val":"5","idx_":"golhmqy645068","serial":6},{"name":"minIdle","comment":"最小空闲连接数","type":"int","val":"5","idx_":"aryswlt645068","serial":7},{"name":"maxActive","comment":"连接池最大数","type":"int","val":"10","idx_":"ghhacjt645068","serial":8},{"name":"maxWait","comment":"获取连接超时的时间(毫秒)","type":"long","val":"60000","idx_":"iilogdd645068","serial":9},{"name":"timeBetweenEvictionRunsMillis","comment":"检测间隔时间(毫秒)","type":"long","val":"60000","idx_":"lxpwint645068","serial":10},{"name":"minEvictableIdleTimeMillis","comment":"连接最小生存时间(毫秒)","type":"long","val":"300000","idx_":"ilyetpb645068","serial":11},{"name":"validationQuery","comment":"连接校验语句","type":"String","val":"SELECT 1 ","idx_":"jcjomeg645068","serial":12},{"name":"testWhileIdle","comment":"空闲时检测连接","type":"boolean","val":"true","idx_":"nxltpus645068","serial":13},{"name":"testOnBorrow","comment":"获取连接时检测连接","type":"boolean","val":"false","idx_":"orocxvv645068","serial":14},{"name":"testOnReturn","comment":"连接返回连接池时检测连接","type":"boolean","val":"false","idx_":"lhskrhf645068","serial":15},{"name":"poolPreparedStatements","comment":"打开PSCACHE","type":"boolean","val":"true","idx_":"wqtehnh645068","serial":16},{"name":"maxPoolPreparedStatementPerConnectionSize","comment":"PSCACHE大小","type":"int","val":"20","idx_":"ujawrlv645068","serial":17},{"name":"filters","comment":"插件","type":"String","val":"stat,config","idx_":"uwhcbfb645068","serial":18},{"name":"connectProperties","comment":"连接配置","type":"Properites","val":"config.decrypt=true","idx_":"ntrrpro645068","serial":19}]
[ac-boot-app:0.0.0.0:39199] 2025-08-27 11:10:27.114 ERROR 23940 [-] [main] com.redxun.core.db.util.DataSourceUtil   : Failed to decrypt.

java.lang.IllegalArgumentException: Failed to decrypt.
	at com.alibaba.druid.filter.config.ConfigFilter.decrypt(ConfigFilter.java:205)
	at com.alibaba.druid.filter.config.ConfigFilter.init(ConfigFilter.java:123)
	at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:838)
	at com.redxun.core.db.util.DataSourceUtil.buildDataSource(DataSourceUtil.java:143)
	at com.redxun.core.api.impl.BootDataSourceHandler.loadDataSource(BootDataSourceHandler.java:64)
	at com.redxun.core.db.listener.DataSourceStartup.run(DataSourceStartup.java:24)
	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:765)
	at org.springframework.boot.SpringApplication.lambda$callRunners(SpringApplication.java:749)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:483)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
	at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:744)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
	at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:164)
	at com.redxun.core.common.app.DefaultApplication.run(DefaultApplication.java:65)
	at com.redxun.AppBootApplication.main(AppBootApplication.java:34)
Caused by: java.lang.IllegalArgumentException: String length must be a multiple of four.
	at com.alibaba.druid.util.Base64.base64ToByteArray(Base64.java:122)
	at com.alibaba.druid.util.Base64.base64ToByteArray(Base64.java:107)
	at com.alibaba.druid.filter.config.ConfigTools.decrypt(ConfigTools.java:150)
	at com.alibaba.druid.filter.config.ConfigFilter.decrypt(ConfigFilter.java:197)
	... 20 common frames omitted
在项目里面没看到有配置druid的解密,这个怎么排查?
1 个回答
曾经多难忘
曾经多难忘
这个我也找了很久,比较坑,这个数据库是在红讯的平台上进行配置的,不是在项目里面配置的,所以需要找到他的数据源

找到你这个连接的数据源,编辑配置,拉到最下面

这里默认是true,需要改成false就可以了。
这里比较坑的是运行的源码,但是配置确实管理员通过界面进行配置的,默认进行密码解密,一般人真想不到是这里出现的问题。如果是二开人员的话,前期为这个问题找死都找不到问题点
发布于:4小时前 IP属地:四川省
我来回答