微信小程序登录授权—解密encryptedData

微信小程序登录授权—解密encryptedData1 过程 微信小程序授权的时候在服务端如果需要保持用户昵称 头像等数据 则一般在小程序端将加密的数据 encryptedDat 传到服务端进行解密 再将数据存入数据库 2

大家好,欢迎来到IT知识分享网。

1.过程:

微信小程序授权的时候在服务端如果需要保持用户昵称、头像等数据,

则一般在小程序端将加密的数据encryptedData传到服务端进行解密,

再将数据存入数据库。

2. 解密

接口如果涉及敏感数据(如UserInfo当中的 openId 和 unionId),接口的明文内容将不包含这些敏感数据。

如需要获取敏感数据,需要对接口返回的加密数据(encryptedData) 进行对称解密。

3.解密算法如下:

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


4.代码1:

微信小程序登录授权—解密encryptedData

5.代码2:

微信小程序登录授权—解密encryptedData

$encryptedData = trim($_GPC[“data”]);

$iv = trim($_GPC[“iv”]);

$sessionKey = trim($_GPC[“sessionKey”]);

$userInfo=$_GPC[“userInfo”];

if (empty($encryptedData) || empty($iv)) {

return app_error(AppError::$ParamsError);

}

$pc = new WXBizDataCrypt($this->appid, $sessionKey);

$errCode = $pc->decryptData($encryptedData, $iv, $data);

if ($errCode == 0) {

$data = json_decode($data, true);

}

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/180592.html

(0)
上一篇 2025-06-11 08:33
下一篇 2025-06-11 08:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信