一、该问题的重现步骤是什么?
本地搭建的前端VUE3和服务器上的nacou都配置了public-key,private-key,sign-key,CryptoJS.aesKey, auth.publicKey
二、你期待的结果是什么?实际看到的又是什么?
期待的结果是登陆成功,实际上是:
{
"code": 500,
"success": false,
"data": {},
"msg": "exception decoding Hex string: invalid characters encountered in Hex string"
}
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
最新版的Cloud版和VUE3,前后端在本地windows上,nacos也是最新版的稳定版和数据库都在ubantu服务器的docker上
四、请提供详细的错误堆栈信息,这很重要。
2026-01-14T16:25:14.708+08:00 INFO 40632 --- [blade-auth] [0.60.83.237-134] c.a.n.c.remote.client.grpc.GrpcClient : [1768379005623_10.60.80.188_4191]Ignore complete event,isRunning:false,isAbandon=false
2026-01-14T16:25:14.708+08:00 ERROR 40632 --- [blade-auth] [0.60.83.237-151] c.a.n.c.remote.client.grpc.GrpcClient : [1768379005794_10.60.80.188_4195]Request stream onCompleted, switch server
2026-01-14T16:25:14.708+08:00 INFO 40632 --- [blade-auth] [remote.worker.1] c.a.n.c.remote.client.grpc.GrpcClient : grpc client connection server: 10.60.83.237 ip, serverPort: 9848, grpcTslConfig: {"enableTls":false,"mutualAuthEnable":false,"trustAll":true}
2026-01-14T16:26:37.574+08:00 ERROR 40632 --- [blade-auth] [remote.worker.1] c.a.n.c.remote.client.grpc.GrpcClient : Server check fail, please check server 10.60.83.237, port 9848 is available, error ={}
java.util.concurrent.TimeoutException: Waited 3000 milliseconds (plus 79862 milliseconds, 496000 nanoseconds delay) for com.alibaba.nacos.shaded.io.grpc.stub.ClientCalls$GrpcFuture@27f3ecc1[status=PENDING, info=[GrpcFuture{clientCall=PendingCall{realCall=ClientCallImpl{method=MethodDescriptor{fullMethodName=Request/request, type=UNARY, idempotent=false, safe=false, sampledToLocalTracing=true, requestMarshaller=com.alibaba.nacos.shaded.io.grpc.protobuf.lite.ProtoLiteUtils$MessageMarshaller@7b1b9acf, responseMarshaller=com.alibaba.nacos.shaded.io.grpc.protobuf.lite.ProtoLiteUtils$MessageMarshaller@162cdb0b, schemaDescriptor=com.alibaba.nacos.api.grpc.auto.RequestGrpc$RequestMethodDescriptorSupplier@5755f46c}}}}]]
at com.alibaba.nacos.shaded.com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:535) ~[nacos-client-3.1.0.jar:na]
at com.alibaba.nacos.common.remote.client.grpc.GrpcClient.serverCheck(GrpcClient.java:234) ~[nacos-client-3.1.0.jar:na]
at com.alibaba.nacos.common.remote.client.grpc.GrpcClient.connectToServer(GrpcClient.java:346) ~[nacos-client-3.1.0.jar:na]
at com.alibaba.nacos.common.remote.client.RpcClient.reconnect(RpcClient.java:504) ~[nacos-client-3.1.0.jar:na]
at com.alibaba.nacos.common.remote.client.RpcClient.lambda$start$1(RpcClient.java:330) ~[nacos-client-3.1.0.jar:na]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[na:na]
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317) ~[na:na]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java) ~[na:na]
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
2026-01-14T16:26:48.727+08:00 INFO 40632 --- [blade-auth] [remote.worker.1] c.a.n.c.remote.client.grpc.GrpcClient : grpc client connection server: 10.60.83.237 ip, serverPort: 9848, grpcTslConfig: {"enableTls":false,"mutualAuthEnable":false,"trustAll":true}
2026-01-14T16:26:48.733+08:00 INFO 40632 --- [blade-auth] [remote.worker.1] com.alibaba.nacos.common.remote.client : [b175153a-c43f-4c9f-bec6-1a2d48c23526_config-0] Server healthy check fail, currentConnection = 1768379005794_10.60.80.188_4195
2026-01-14T16:26:48.733+08:00 INFO 40632 --- [blade-auth] [remote.worker.1] com.alibaba.nacos.common.remote.client : [b175153a-c43f-4c9f-bec6-1a2d48c23526_config-0] Try to reconnect to a new server, server is not appointed, will choose a random server.
2026-01-14T16:26:48.734+08:00 INFO 40632 --- [blade-auth] [remote.worker.1] c.a.n.c.remote.client.grpc.GrpcClient : grpc client connection server: 10.60.83.237 ip, serverPort: 9848, grpcTslConfig: {"enableTls":false,"mutualAuthEnable":false,"trustAll":true}
2026-01-14T16:26:48.735+08:00 ERROR 40632 --- [blade-auth] [ XNIO-1 task-3] o.s.c.l.e.BladeRestExceptionTranslator : 服务器异常
org.bouncycastle.util.encoders.DecoderException: exception decoding Hex string: invalid characters encountered in Hex string
at org.bouncycastle.util.encoders.Hex.decode(Unknown Source) ~[bcprov-jdk18on-1.82.jar:na]
at org.springblade.core.tool.utils.SM2Util.decrypt(SM2Util.java:98) ~[blade-core-tool-4.7.0.jar:4.7.0]
at org.springblade.auth.utils.TokenUtil.decryptPassword(TokenUtil.java:125) ~[classes/:na]
at org.springblade.auth.granter.PasswordTokenGranter.grant(PasswordTokenGranter.java:65) ~[classes/:na]
at org.springblade.auth.controller.AuthController.token(AuthController.java:74) ~[classes/:na]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258) ~[spring-web-6.2.11.jar:6.2.11]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191) ~[spring-web-6.2.11.jar:6.2.11]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.2.11.jar:6.2.11]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991) ~[spring-webmvc-6.2.11.jar:6.2.11]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896) ~[spring-webmvc-6.2.11.jar:6.2.11]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.2.11.jar:6.2.11]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) ~[spring-webmvc-6.2.11.jar:6.2.11]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) ~[spring-webmvc-6.2.11.jar:6.2.11]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.11.jar:6.2.11]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) ~[spring-webmvc-6.2.11.jar:6.2.11]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:653) ~[jakarta.servlet-api-6.1.0.jar:6.1.0]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.11.jar:6.2.11]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723) ~[jakarta.servlet-api-6.1.0.jar:6.1.0]
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at org.springblade.core.tool.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:94) ~[blade-core-tool-4.7.0.jar:4.7.0]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.11.jar:6.2.11]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.11.jar:6.2.11]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.11.jar:6.2.11]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.11.jar:6.2.11]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110) ~[spring-web-6.2.11.jar:6.2.11]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.11.jar:6.2.11]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.11.jar:6.2.11]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.11.jar:6.2.11]
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) ~[undertow-core-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) ~[undertow-core-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:75) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) ~[undertow-core-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) ~[undertow-core-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:271) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:130) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:127) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:251) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:99) ~[undertow-servlet-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:395) ~[undertow-core-2.3.19.Final.jar:2.3.19.Final]
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:896) ~[undertow-core-2.3.19.Final.jar:2.3.19.Final]
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18) ~[jboss-threads-3.7.0.Final.jar:3.7.0.Final]
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691) ~[jboss-threads-3.7.0.Final.jar:3.7.0.Final]
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670) ~[jboss-threads-3.7.0.Final.jar:3.7.0.Final]
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615) ~[jboss-threads-3.7.0.Final.jar:3.7.0.Final]
at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282) ~[xnio-api-3.8.16.Final.jar:3.8.16.Final]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
Caused by: java.io.IOException: invalid characters encountered in Hex string
at org.bouncycastle.util.encoders.HexEncoder.decode(Unknown Source) ~[bcprov-jdk18on-1.82.jar:na]
... 72 common frames omitted五、若有更多详细信息,请在下面提供。
跟着这个走一遍:https://www.bilibili.com/video/BV1GAWTetE1q
前后端启动后,看看能不能正常登录,如果能正常登录,你就可以在登录的时候按f12查看他登录接口具体调用的参数是什么
扫一扫访问 Blade技术社区 移动端