欧美日韩国产一区,亚洲一区视频,色综合久久久久,私密按摩师舌头伸进去了,99re6这里只有精品,夜夜性日日交xxx性hd

5:我測試的代碼及打包下載(加解密、簽名系列)

  • • 發表于 8年前
  • • 作者 Roluce
  • • 3873 人瀏覽
  • • 1 條評論
  • • 最后編輯時間 8年前
  • • 來自 [技 術]

原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處

說明

本案例目的在于測試wx.getUserInfo()得到的encryptedData密文的解密過程。
僅供學習使用。

所有代碼打包下載地址:

點擊下載(如果失效聯系QQ:635068)


1:小程序代碼(前臺)

test.wxml

//一條代碼即可
<button bindtap="tap">tap</button>

test.js

Page({

  //wxml文件,弄一個button按鈕即可
  //在console控制臺查看數據

  tap: function () {

    //調用登錄接口
    wx.login({
      success: function (login) {

        //成功,返回登錄憑證js_code
        var js_code = login.code;

        //調用獲取用戶信息接口
        wx.getUserInfo({
          success: function (res) {

            //成功,獲取解密相關的用戶信息
            var encryptedData = res.encryptedData; //AES密文
            var iv = res.iv; //AES初始向量

            //調用網絡請求接口
            //把js_code、AES密文、AES初始向量發送到服務器
            wx.request({
              url: 'http://jx.qyggame.com/wx.php',
              data: {
                js_code: js_code,
                encryptedData: encryptedData,
                iv: iv
              },
              method: 'GET', //用Get的請求方式
              success: function (data) {

                //成功,返回解密后的用戶敏感信息
                console.log(data);
              }
            })
          }
        })
      }
    });
  }
})

2:PHP服務器響應處理代碼(后臺)

聲明:以下代碼運行在自己的服務器,必須有PHP環境才可以運行。

下文wx.php導入AES處理類的代碼及注釋,詳見如下文章:
4:官方AES代碼(PHP版)代碼注釋(加解密、簽名系列)

wx.php

<?php

    //導入AES處理類
     include_once "aes/wxBizDataCrypt.php";

    //AppID(小程序ID)
    $APPID= "wx138cb9ea9980af75"; 

    //AppSecret(小程序密鑰)
    $SECRET = "0d082ea095f1df6aef3f2300fdbe0147"; 

    //接收小程序端發來的js_code
    $js_code = $_GET[js_code];

    //小程序接口(appid+secret+js_code=sessionId+openId)
    $url = "https://api.weixin.qq.com/sns/jscode2session?appid={$APPID}&secret={$SECRET}&js_code={$js_code}&grant_type=authorization_code";


    //模擬網頁的GET請求
    $timeout = 5; 
    $ch = curl_init();                              //初始化curl   
    curl_setopt($ch, CURLOPT_URL, $url);            //設置訪問的url地址   
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    //參數為1表示傳輸數據,為0表示直接輸出顯示。 
    curl_setopt($ch, CURLOPT_HEADER, 0);            //參數為0表示不帶頭文件,為1表示帶頭文件  

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);   //獲取https需要加上此
     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);   //獲取https需要加上此

    $json_data = curl_exec($ch);   //執行命令并把獲取的數據賦值給$output
    curl_close($ch);            //關閉URL請求   


    //返回的Json數據轉換成數組 
    $array = json_decode($json_data,true);

    //獲得session_key
    $session_key =$array['session_key'];  



      //獲取小程序發送來的AES用到的“密文”
     $encryptedData = $_GET[encryptedData]; 

     //獲取小程序發送來的AES用到的“初始向量”
     $iv = $_GET[iv];                         


    //調用官方提供的AES處理類,并初始化
    $pc = new WXBizDataCrypt($APPID, $session_key);

    //對密文的解密
    $errCode = $pc->decryptData($encryptedData, $iv, $data );





    if ($errCode == 0) {  
            //0表示正常,返回敏感數據
            //本源碼僅為測試,一般敏感信息不必返回微信小程序客戶端
            echo $data;  
    } else {
        //不為0,返回錯誤代碼
            echo $errCode;
    } 


?>
分享到:
1條評論
Ctrl+Enter
作者

Roluce

Roluce

APP:0 帖子:50 回復:112 積分:3610

已加入社區[3103]天

山東_聊城_qq:635068

作者詳情》
Top