微信小程序用户信息解密 AES/CBC/NoPadding 解密失败问题

解密文档如下

java springboot 微信小程序登录,获取获取手机号,获取unionId和解密用户信息

问题:

  • 突然有一天解密失败,之前使用AES/CBC/NoPadding都可以,然后debug查看多出一些字符

原因:

  • **AES/CBC/NoPadding**** 模式下解密后的数据可能包含额外的填充字符**(例如多个 \u000F),这是由于原始加密内容被填充以达到块大小的倍数要求。
  • NoPadding 模式下,解密时不会自动去除这些填充字符。因此,解密后的字符串尾部会包含这些无意义的字符,导致解析 JSON 时出错。

解决方案:

  • 改用AES/CBC/PKCS5Padding解密