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

embedded/2024/12/25 12:58:09/

解密文档如下

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

问题:

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

原因:

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

解决方案:

  • 改用AES/CBC/PKCS5Padding解密

http://www.ppmy.cn/embedded/148622.html

相关文章

【pytorch】多层感知机

将许多全连接层堆叠在一起。每一层都输出到上面的层,直到生成最后的输出。我们可以把前L−1层看作表示,把最后一层看作线性预测器。这种架构通常称为多层感知机通常缩写为MLP。 1 激活函数 激活函数(activation function)通过计…

群晖利用acme.sh自动申请证书并且自动重载证书的问题解决

前言 21年的时候写了一个在群晖(黑群晖)下利用acme.sh自动申请Let‘s Encrypt的脚本工具 群晖使用acme自动申请Let‘s Encrypt证书脚本,自动申请虽然解决了,但是自动重载一直是一个问题,本人也懒,一想到去…

vue中proxy代理配置(测试一)

接口地址:http://jsonplaceholder.typicode.com/posts 1、配置一(代理没起作用) (1)设置baseURL为http://jsonplaceholder.typicode.com (2)proxy为 ‘/api’:’ ’ (3&a…

Linux的Java方向

RPM:Redhat软件包管理工具,类似windows里面的setup.exed,是Linux这系列操作系统里面的打包按照工具,它虽然是Redhat的标志,但理念是通用的 查询命令 rpm -qa:查询所安装的所有rpm软件包 rpm -ql 服务名:查…

shell编程5

声明 学习视频来自B站UP主 泷羽sec 字符串和逻辑运算符 新建脚本 str1 “hello” str2 “hello” if [ $str1 $str2 ];then echo Ture else echo flase fi 运行脚本查看字符串是否相等 把hello改成Hello 看看大小写是否敏感 大小写敏感 将改成不等于(!&…

系统压力测试助手——stress-ng

1、背景 在系统性能测试和压力测试中,stress-ng 是一个非常强大的工具,广泛应用于对 Linux 系统进行各种硬件和软件方面的负载测试。它能够模拟多种极端负载情况,帮助开发人员和运维人员检查系统在高负载下的表现,以便发现潜在的…

完整微服务设计 功能实现

我们将以一个简单的电商系统为例,实现微服务架构,逐步用Java代码详细实现每个模块,并配合注释帮助小白理解。在这个实现中,我们使用以下工具和框架: Spring Boot:用于构建微服务。Spring Cloud&#xff1a…

数据库操作【JDBC HIbernate Mybatis】

JDBC JDBC编程 在java开发中,以前都是通过JDBC(Java Data Base Connectivity)与数据库打交道的,至少在ORM(Object Relational Mapping)框架没出现之前是这样,目前常用的ORM框架有JPA、hibernat…