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:
5.代码2:
$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);
}
内容出处:,
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/procedure/27695.html