VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云优惠活动
荫云优惠活动

分享一个微信开发的数据解密示例教程(微信数据解密不正确)

主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

最近在用thinkphp框架写一个服务器端的微信小程序。可能真的是处女座的原因。我从官方下载了一个php微信解密演示。显然,它可以集成到一个类中而无需太多代码,因此我必须在几个类中编写它。考虑到thinkphp 5.0的框架引用扩展类太痛苦,我把它整合成一个类,方便调用,有需要的朋友可以下载。

分享一个微信开发的数据解密示例教程(微信数据解密不正确)

百度磁盘下载地址:pan.baidu.com/s/1kURMQ2b

& lt?Php/** *微信小程序用户加密数据解密示例代码。* * @ copyright版权所有(c)1998-2014腾讯公司*/classwxbizdatacrypt { private $ appid;private $ sessionKeyprivate $ blockSize = 16private $ OKs = 0;private $ IllegalAesKey = -41001;private $ IllegalIv = -41002;private $ illegal buffer = -41003;private $ decode base 64 error = -41004;/* * *检查数据的真实性,得到解密后的明文。* @param $encryptedData string加密的用户数据* @param $iv string和用户数据返回的初始向量* @param $data string解密原始文本* * @return int成功0,对应的错误代码*/public function解密数据($ appid,$ sessionkey,$encryptedData,$iv,&;$ data){ $ this -》;sessionKey = $ sessionKey$ this -》;appid = $ appidif(strlen($ this -》;会话密钥)!= 24){ return $ this -》;IllegalAesKey} $ AES key = base64 _ decode($ this -》;session key);if(strlen(iv)!= 24){ return $ this -》;非法的;} $ aesIV = base64 _ decode($ iv);$ AES cipher = base64 _ decode($ encrypted data);$ result = $ this -& gt;decrypt($ AES key,$aesCipher,$ aesIV);if($ result【0】!= 0){ return $ result【0】;} $ data obj = JSON _ decode($ result【1】);if($ data obj = = NULL){ return $ this -& gt;非法缓冲区;} if($ data obj -& gt;水印-》;appid!= $ this -& gt;appid){ return $ this -& gt;非法缓冲区;} $ data = $ result【1】;return $ this -& gt;OKs}/* * *解密密文* @ param string $要用AES cipher解密的密文* @ param string $ AES IV解密的初始向量* @return string解密明文*/私有函数Decrypt($ key,$aesCipher,$ aesIV){ try { $ module = MCRYPT _ module _ open(MCRYPT _ RIJNDAEL _ 128,& amp#39;& amp#39;,MCRYPT_MODE_CBC。#39;& amp#39;);mcrypt _ generic _ init($ module,$key,$ aesIV);//decrypt $ decrypted = mdecrypt _ generic($ module,$ AES cipher);mcrypt _ generic _ deinit($ module);mcrypt _ module _ close($ module);} catch(Exception $ e){ return array($ this -& gt;IllegalBuffer,null);}尝试{//删除补码字符$ result = $ this -& gt;decode(已解密);} catch(Exception $ e){//print $ e;返回数组($ this -》;IllegalBuffer,null);}返回数组(0,$ result);}/* * *填充需要加密的明文* @param $text需要填充和填充的明文* @return Fill明文字符串*/私有函数encode($ text){ $ block _ size = $ this -》block size;$ text _ length = strlen($ text);//计算要填充的位数$ amount _ to _ pad = $ this -& gt;block size -($ text _ length % $ this -& gt;block size);if($ amount _ to _ pad = = 0){ $ amount _ to _ pad = $ this -& gt;blockSize}//用于获取补码的字符$ pad _ chr = chr($ amount _ to _ pad);$ tmp = & quot";for($ index = 0;$ index & lt$ amount _ to _ pad$ index++){ $ tmp。= $ pad _ chr} return $text。$ tmp}/* * *补充并删除解密后的明文* @param解密后的明文* @return删除用补充符填充的明文*/private function decode($ text){ $ pad = ord(substr($ text,-1);if($ pad & lt;1 | | $ pad & gt32){ $ pad = 0;} return substr(text,0,(strlen(text)-$ pad));}}如果您自己需要,ps:如果您对微信登录授权流程感到困惑,可以留言咨询。

【相关建议】

1.下载微信微信官方账号平台源代码。

2.PigCMS(PigCMS)微电商系统运营版(独立微店商城+三级分销系统)

3.微信网王v3.4.5高级商业版微信魔方源代码

这几篇文章你可能也喜欢:

本文由主机参考刊发,转载请注明:分享一个微信开发的数据解密示例教程(微信数据解密不正确) https://zhujicankao.com/114151.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 分享一个微信开发的数据解密示例教程(微信数据解密不正确)
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!