亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

thinkphp微信開發之安全模式消息加密解密不成功的解決辦法

2024-05-04 23:40:42
字體:
來源:轉載
供稿:網友
使用thinkphp官方的WeChat包,使用不同模式可以成功,但是安全模式就是不行,現將分析解決結果做下記錄,對thinkphp加密解密相關知識感興趣的朋友參考下
 

 ThinkPHP框架是國內比較流行的PHP框架之一,雖然跟國外的那些框架沒法比,但優點在于,恩,中文手冊很全面,在此不多說了。

使用thinkphp官方的WeChat包,使用不同模式可以成功,但是安全模式就是不行,現將分析解決結果做下記錄。

 分析問題:

          解密微信服務器消息老是不成功,下載下微信公眾平臺官方給出的解密文件和WechatCrypt.class.php進行比對發現也沒有問題。用file_put_contents函數保存下解密后的文件進行分析。發現官方包解密的xml不是標準的xml格式,所以simplexml_load_string函數無法處理。

/**   * 對密文進行解密   * @param string $encrypt 密文   * @return string     明文   */  public function decrypt($encrypt){    //BASE64解碼    $encrypt = base64_decode($encrypt);    //打開加密算法模塊    $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');    //初始化加密算法模塊    mcrypt_generic_init($td, $this->cyptKey, substr($this->cyptKey, 0, 16));    //執行解密    $decrypt = mdecrypt_generic($td, $encrypt);    //去除PKCS7補位    $decrypt = self::PKCS7Decode($decrypt, mcrypt_enc_get_key_size($td));    //關閉加密算法模塊    mcrypt_generic_deinit($td);    mcrypt_module_close($td);    if(strlen($decrypt) < 16){      throw new /Exception("非法密文字符串!");    }    //去除隨機字符串    $decrypt = substr($decrypt, 16);    //獲取網絡字節序    $size = unpack("N", substr($decrypt, 0, 4));    $size = $size[1];    //APP_ID    $appid = substr($decrypt, $size + 4);    //驗證APP_ID    if($appid !== $this->appId){      throw new /Exception("非法APP_ID!");    }    //明文內容    $text = substr($decrypt, 4, $size);    return $text;  }  /**   * PKCS7填充字符   * @param string $text 被填充字符   * @param integer $size Block長度   */  private static function PKCS7Encode($text, $size){    //字符串長度    $str_size = strlen($text);    //填充長度    $pad_size = $size - ($str_size % $size);    $pad_size = $pad_size ? : $size;    //填充的字符    $pad_chr = chr($pad_size);    //執行填充    $text = str_pad($text, $str_size + $pad_size, $pad_chr, STR_PAD_RIGHT);    return $text;  }  /**   * 刪除PKCS7填充的字符   * @param string $text 已填充的字符   * @param integer $size Block長度   */  private static function PKCS7Decode($text, $size){    //獲取補位字符    $pad_str = ord(substr($text, -1));    if ($pad_str < 1 || $pad_str > $size) {      $pad_str= 0;    }       return substr($text, 0, strlen($text) - $pad_str);  }

解決方法:

          輸出的xml文件是這樣的

 <xml> <ToUserName><![CDATA[gh_aebd]]><//ToUserName>/n <FromUserName><![CDATA[oopVmxHZaeQkDPsRcbpwXKkH-JQ]]><//FromUserName>/n <CreateTime><//CreateTime>/n <MsgType><![CDATA[text]]><//MsgType>/n <Content><![CDATA[/uecf/u]]><//Content>/n <MsgId><//MsgId>/n <//xml>

       所以需要進行處理才能讓simplexml_load_string處理

在輸出的明文內容后面加上

 //明文內容     $text = substr($decrypt, , $size); //去掉多余的內容     $text=str_replace('<//','</', $text);        $text=str_replace('>/n','>', $text);     return $text;

安全模式就能正常使用了。

以上內容是小編給大家介紹的關于thinkphp微信開之安全模式消息加密解密不成功的解決辦法,希望大家喜歡。



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美孕妇毛茸茸xxxx| 亚洲精品美女视频| 亚洲综合在线播放| 91综合免费在线| 久久综合亚洲社区| 色妞久久福利网| 国产视频观看一区| 亚洲欧洲一区二区三区久久| 黑人巨大精品欧美一区二区一视频| 亚洲午夜av电影| 亚洲国产精品悠悠久久琪琪| 91亚洲国产成人久久精品网站| 欧美激情二区三区| 国产一区二区三区四区福利| 午夜精品99久久免费| 亚洲精品国产欧美| 5252色成人免费视频| 久久综合免费视频| 欧美日韩亚洲天堂| 国产精品九九九| 美女av一区二区| 韩国三级日本三级少妇99| 亚洲缚视频在线观看| 日韩av手机在线观看| 国产精品偷伦免费视频观看的| 成人精品一区二区三区| 亚洲第一精品福利| 精品国内自产拍在线观看| 亚洲国产精品久久久久秋霞不卡| 亚洲国产精品成人精品| 亚洲在线观看视频| 久久久精品在线| 成人黄色中文字幕| 久久艳片www.17c.com| 欧美色视频日本高清在线观看| 亚洲精品v天堂中文字幕| 亚洲天堂av图片| 亚洲国产精品电影在线观看| 国产欧美日韩免费看aⅴ视频| 狠狠综合久久av一区二区小说| 97精品久久久中文字幕免费| 欧美激情一级欧美精品| 在线电影av不卡网址| 成人妇女免费播放久久久| 国产一区二区三区直播精品电影| 亚洲电影免费观看高清完整版在线| 亚洲大尺度美女在线| 亚洲成年网站在线观看| 孩xxxx性bbbb欧美| 亚洲精品久久久久久下一站| 国产+成+人+亚洲欧洲| 日韩中文字幕视频在线| 日韩视频免费在线观看| 亚洲第一页自拍| 国产精品久久久久久久av电影| 亚洲天堂男人的天堂| 精品久久香蕉国产线看观看亚洲| 亚洲自拍偷拍福利| 欧美亚洲第一页| 成人免费淫片aa视频免费| 精品无人区乱码1区2区3区在线| 国产精品日韩在线观看| 久久精品99无色码中文字幕| 欧美日韩精品在线视频| 成人激情视频免费在线| 精品亚洲va在线va天堂资源站| 最近中文字幕mv在线一区二区三区四区| 成人写真视频福利网| 欧美精品在线观看| 粉嫩av一区二区三区免费野| 国产在线视频欧美| 91成人国产在线观看| 中文综合在线观看| 岛国av一区二区三区| 欧美电影在线免费观看网站| 亚洲成人久久电影| 亚洲精品黄网在线观看| 91精品国产自产在线观看永久| 韩剧1988在线观看免费完整版| 国产日韩欧美另类| 91精品国产色综合久久不卡98| 欧美一级大片在线观看| 高清欧美性猛交xxxx黑人猛交| 久久av.com| 欧美日韩免费区域视频在线观看| 欧美成人自拍视频| 日韩美女在线播放| 欧洲亚洲在线视频| 91夜夜未满十八勿入爽爽影院| 中文字幕国产日韩| 亚洲偷熟乱区亚洲香蕉av| 日韩小视频在线| 日韩一区二区三区在线播放| 亚洲精品国产精品国自产在线| 亚洲精品成a人在线观看| 日韩在线观看成人| 亚洲精品一区二区三区不| 欧美性xxxxxxxxx| 中文字幕国产亚洲2019| 欧美日韩性视频| 国产精品免费久久久久久| 国产精品一区=区| 2019中文在线观看| 国产精品综合不卡av| 国产成人综合精品在线| 久久黄色av网站| 欧美亚洲日本黄色| 日韩欧美在线免费| 欧美性视频在线| 国产精欧美一区二区三区| 亚洲乱码一区二区| 亚洲性无码av在线| 久久久99久久精品女同性| 亚洲欧美日本伦理| 国内精品小视频在线观看| 日韩在线中文字| 91久久久久久久久久久久久| 成人黄色短视频在线观看| 国产精品偷伦一区二区| 久久久久久午夜| 欧美中文字幕在线播放| 国产伦精品免费视频| 国产美女主播一区| 中日韩美女免费视频网站在线观看| 亚洲二区中文字幕| 一区二区亚洲精品国产| 国产成人亚洲精品| 中文字幕亚洲自拍| 日韩精品亚洲视频| 国产精品丝袜久久久久久不卡| 日韩av网站大全| 久久久国产精品视频| 欧美精品激情在线| 亚洲欧美制服另类日韩| 亚洲区在线播放| 欧美中文在线免费| 日韩精品极品毛片系列视频| 精品日本高清在线播放| 欧美做受高潮电影o| 亚洲国产一区自拍| 欧美激情视频网| 久久久成人av| 成人黄色av播放免费| 欧美黑人xxxⅹ高潮交| 精品视频在线播放免| 在线观看免费高清视频97| 欧美日韩午夜视频在线观看| 亚洲国产精品久久| 91精品久久久久久久久久久久久久| 91极品视频在线| 亚洲欧美日韩爽爽影院| 91国内揄拍国内精品对白| 国产精品视频一区二区三区四| 中文字幕日韩视频| 国产免费成人av| 色综合视频一区中文字幕| 欧美乱大交xxxxx另类电影| 91精品啪aⅴ在线观看国产| 在线日韩精品视频| 欧美久久久精品| 91成人天堂久久成人| 成人a视频在线观看| 欧美裸体xxxx| 国产在线高清精品|