背景:项目中使用微信小程序获取用户微信步数时经常失败。查看log中时发现了大量的微信步数解密失败的日志。
解析微信步数失败,更换解密模式重试
javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
at com.sun.crypto.provider.CipherCore.unpad(CipherCore.java:975)
at com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:1056)
at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:853)
at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:446)
at javax.crypto.Cipher.doFinal(Cipher.java:2168)
at com.ancient.kuafu.service.PedometerWechatImp.decryptionStepInfo(PedometerWechatImp.java:178)
at com.ancient.kuafu.service.PedometerWechatImp$$FastClassBySpringCGLIB$$247dd861.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779)
at org.s

本文探讨了在微信小程序中获取用户步数时遇到的解密失败问题。错误源于前端在微信登录code失效后未更新加密信息和初始化向量,导致AES/CBC模式解密出错。解决方案是确保登录code、加密数据和初始化向量的正确配合使用。
2508

被折叠的 条评论
为什么被折叠?



