wx.getUserInfo 在某些安卓手机 nickname 乱码
发布于 7 年前 作者 guiyinggao 4686 次浏览 来自 官方Issues

设备:vivoX7 安卓 5.1.1

输入法:vivo 自带输入法

昵称是:🌾🍸🌾

使用 wx.getUserInfo 获取的 rawData nickname 是乱码。导致 后端校验失败。

public boolean checkUserInfo(String sessionKey, String rawData, String signature) {
  final String generatedSignature = DigestUtils.sha1Hex(rawData + sessionKey);
  return generatedSignature.equals(signature);
}

尝试开始认为是传输过程中出问题,然后 encode。后端 decode 解析出来还是乱码。

打印出来 getUserInfo 中的 rawData 已经是乱码。

使用小米mix3、小米8、iOS 都 OK。

这个图:

第一个昵称是用其他手机改的,然后可以正常解密。

第二个昵称是用 vivoX7 手机改的,解密失败。

1 回复

直接用wx.getUserInfo返回数据中的userInfo.nickName

回到顶部