私域电商软件及相关增值服务提供商    

关于严厉谴责冒用我司名义发布虚假招聘信息严正声明 北京:4006-601-982 / 深圳:4008-400-198 / 长沙:4006-089-731
免费试用
2023年微信小程序API 用户数据的签名验证和加解密
作者: --时间: 阅读量:

保障用户数据安全:微信小程序API用户数据的签名验证和加解密


1. 数据签名校验

为确保开放接口返回的用户数据安全性,微信对明文数据进行签名。开发者可以对数据包进行签名校验,确保数据完整性。

  1. 签名校验算法需要涉及用户的session_key。开发者需在wx.login登录流程中获取用户的session_key,并自行维护与应用的自身登录态的对应关系。
  2. 通过调用wx.getUserInfo等接口获取数据时,接口会同时返回rawData、signature两个参数。其中signature = sha1(rawData + session_key)。
  3. 开发者将signature与rawData发送到开发者服务器进行校验。服务器利用相同的算法计算出签名signature2,比对signature与signature2即可校验数据完整性。

以wx.getUserInfo的数据校验为例:

接口返回的rawData:

{
  "nickName": "Band",
  "gender": 1,
  "language": "zh_CN",
  "city": "Guangzhou",
  "province": "Guangdong",
  "country": "CN",
  "avatarUrl": "http://wx.qlogo.cn/mmopen/vi_32/1vZvI39NWFQ9XM4LtQpFrQJ1xlgZxx3w7bQxKARol6503Iuswjjn6nIGBiaycAjAtpujxyzYsrztuuICqIM5ibXQ/0"
}

用户的session-key:

HyVFkGl5F5OQWJZZaNzBBg==

因此,用于签名的字符串为:

{"nickName":"Band","gender":1,"language":"zh_CN","city":"Guangzhou","province":"Guangdong","country":"CN","avatarUrl":"http://wx.qlogo.cn/mmopen/vi_32/1vZvI39NWFQ9XM4LtQpFrQJ1xlgZxx3w7bQxKARol6503Iuswjjn6nIGBiaycAjAtpujxyzYsrztuuICqIM5ibXQ/0"}HyVFkGl5F5OQWJZZaNzBBg==

使用sha1得到的结果为:

75e81ceda165f4ffa64f4068af58c64b8f54b88c

2. 加密数据解密算法

如果接口涉及敏感数据(如wx.getUserInfo中的openId和unionId),则接口的明文内容不会包含这些敏感数据。开发者需要对接口返回的加密数据(encryptedData)进行对称解密。

  1. 对称解密使用的算法为AES-128-CBC,数据采用PKCS#7填充。
  2. 对称解密的目标密文为Base64_Decode(encryptedData)。
  3. 对称解密秘钥aeskey=Base64_Decode(session_key),其中session_key是16字节。
  4. 对称解密算法初始向量iv将在数据接口中返回。

微信提供了多种编程语言的示例代码(点击下载),每种语言类型的接口名字一致。可以参照示例调用方式。

另外,为保证数据有效性,我们会在敏感数据上添加数据水印(watermark)

  • B2B2C多用户商城系统
    支持企业自营与商户入驻模式共存 会员一站式精细化营销工具 多用户分销,带来爆发式增长

    系统支持平台自营+供应商店铺共存的经营模式(类天猫&京东模式),帮助企业打造生态级商业平台为目的的电子商务系统。

    免费试用系统
  • B2B2B电商交易系统
    优化供应链协作 授信及账期支付 商品按照数量阶梯设价

    全渠道订货/采购及经销商管理数字化系统,实现供应链整合和交易便捷化。

    免费试用系统
  • S2B2B电商交易系统
    供销一体化,提高市场集中度 集团管控一体化,有效实现供需匹配 移动应用一体化,提高运营综合效率

    上下游资源整合数字化解决方案,赋能产业供应链,构建产业互联网生态体系。

    免费试用系统
一套系统全搞定
  • 商家管理
  • 商品管理
  • 订单管理
  • 会员管理
  • 营销中心
  • 供应链入驻
  • 财务管理
  • 支付分账
  • 商城直播
免费试用
更多产品任你选
B2B2C多用户商城系统

类天猫&京东模式系统

了解更多
B2B2B电商交易系统

全渠道订货/采购及经销商管
理数字化系统

了解更多
S2B2B电商交易系统

上下游资源整合数字化解决方
案

了解更多
企业集采商城系统

中大型企业数字化采购与交易
系统

了解更多
员工福利商城系统

集福利管理、发放于一体的员
工福利商城

了解更多
Baidu
map