3972关注12427浏览
wx.getUserInfo 获取的加密数据解密 乱码
解密代码用的稍微修改了下
if (strlen($this->sessionKey) != 24) {
//return ErrorCode::$IllegalAesKey;
return "";
}
$aesKey = base64_decode($this->sessionKey);
if (strlen($iv) != 24) {
//return ErrorCode::$IllegalIv;
return "";
}
$aesIV=base64_decode($iv);
$aesCipher=base64_decode($encryptedData);
$result = openssl_decrypt( $aesCipher, "AES-128-CBC", $aesKey, 1, $aesIV);
return $result;
解密结果就是
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多> -
shutmeup
20人对此回答表示赞同
我用的PHP,你可以先尝试一下用官方提供的代码,看看能不能正常解密,然后再对比一下你改过的代码,逐步排除吧
展开200回复分享发布于 6年前评论(0)
收起评论
-
Taj
18人对此回答表示赞同
那你检查一下你改的代码,是否在解密前漏了把填充的数据去掉,原始数据包是用了PKCS7 算法填充的,解密前不去掉填充的那一部分数据的话,是会出现部分乱码的情况的
展开180回复分享发布于 6年前评论(0)
收起评论
-
何入舟
12人对此回答表示赞同
你是用php还是java?我两个都试了,都有问题每次都是前边几个字符乱码
展开120回复分享发布于 6年前评论(0)
收起评论
-
枯等年轮
9人对此回答表示赞同
加密数据
展开90回复分享发布于 6年前评论(0)
收起评论
-
Asha
8人对此回答表示赞同
我就是用官方的唯一就是把验证appid相关的去掉了
展开80回复分享发布于 6年前评论(0)
收起评论
-
Silje
8人对此回答表示赞同
展开80回复分享发布于 6年前评论(0)
收起评论
-
吴痕
5人对此回答表示赞同
好的谢谢我就是iv用错了导致的
展开51回复分享发布于 6年前评论(1)
收起评论
-
钟灵 2018-12-30 19:54
请问你的iv是怎么用错了呢,为什么我传到后台的iv,sessionkey信息都对,解密结果却是空呢..能否麻烦指教一下T——T
回复
-
-
苏打汽水爱好者
4人对此回答表示赞同
ivr7BXXKkLb8qrSNn05n0qiA==
展开40回复分享发布于 6年前评论(0)
收起评论
-
Tika
2人对此回答表示赞同
。。if (strlen($this->sessionKey) != 24) { 展开20回复分享发布于 6年前评论(0)
收起评论
-
Reid
1人对此回答表示赞同
请问你这个iv出了什么问题呢,我用openssl解密,结果为空啊,好崩溃,不知道是什么问题啊,我把解出来的sessionkey,iv和endata直接带入到官方示例的demo,返回的是-41003错误,我把官方demo的这几个变量直接带入到我的代码里面是跟官方demo一样是解密成功的,这就意味着我的这三个变量存在不匹配的现状,但是怎么排查呢,麻烦指教呢谢谢~~~
展开10回复分享发布于 6年前评论(0)
收起评论