国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小程序session_key、encryptedData、iv進行解密獲取用戶頭像名稱

這篇具有很好參考價值的文章主要介紹了微信小程序session_key、encryptedData、iv進行解密獲取用戶頭像名稱。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

    public function register(){
        $data['openid'] = input('openid','');
        //解密用戶信息
        $userData = $this->getSessionKey();
        if($userData){
            $data['nickname'] = $userData['nickName'];
            $data['head'] = $userData['avatarUrl'];
        }
        $data['token'] = getRandChar(32);
        $data['token_time'] = time();
        $id = Db::name('store_member')->strict(false)->insertGetId($data);
        if($id){
            $user = Db::name('store_member')->where('id', $id)->find();
            return json_encode(['code'=>200, 'msg'=>'注冊成功', 'data'=>$user]);
        }else{
            return json_encode(['code'=>400, 'msg'=>'注冊失敗']);
        }
    }
    
    //獲取session_key
    public function getSessionKey(){
        $url = 'https://api.weixin.qq.com/sns/jscode2session';
        $data = array(
            'appid' =>$this->wxpay['appid'],
            'secret' => $this->wxpay['secret'],
            'js_code' => input('js_code',''),
            'grant_type' => 'authorization_code'
        );
        $res = httpRequest($url, 'POST', $data);
        $session_key = json_decode($res,true);
        if(!empty($session_key['session_key'])){
            $encryptedData = str_replace(' ', '+', input('encryptedData'));
            $iv = str_replace(' ', '+', input('iv'));
            $aesKey = base64_decode($session_key['session_key']);
            $aesIV = base64_decode($iv);
            $aesCipher = base64_decode($encryptedData);
            $result = openssl_decrypt($aesCipher, 'AES-128-CBC', $aesKey, 1, $aesIV);
            return json_decode($result,true);
        }else{
            return false;
        }
    }

小程序端

      login: function (e) {
        var that = this;
        wx.login({
          success: function (res_) {
            that.setData({
              session: res_.code,
            })
          }
        })
        wx.getUserProfile({
          desc: '用于完善會員資料', // 聲明獲取用戶個人信息后的用途,后續(xù)會展示在彈窗中,請謹慎填寫
          success: (res) => {
            var url = 'User/getUser'
            var params = { 
              js_code: that.data.session, 
              openid: app.globalData.openid,
              iv: res.iv,
              encryptedData: res.encryptedData,
              // 修正
              // nickname: e.detail.userInfo.nickName,
              // head: e.detail.userInfo.avatarUrl
            }
            util.wxRequest(url, params, data => {
              if (data.code == 200) {
                app.globalData.userInfo = data.data
                app.globalData.login = true
                this.setData({ login:true })
                wx.showToast({
                  title: '登錄成功',
                  icon: 'success',
                  duration: 2000
                })
              } else {
                //錯誤,需用戶重新授權(quán)登錄
                app.globalData.login = false
                wx.showToast({
                  title: data.msg,
                  icon: 'none',
                  duration: 2000
                })
              }
            }, data => { }, data => { })
          }
        })
      },

以上代碼大致流程為:

1.在小程序界面點擊按鈕發(fā)送js_code與encryptedData和iv到自己的服務(wù)器

2.服務(wù)器接收到j(luò)s_code后配合appid與secret共同調(diào)用微信接口獲取session_key與openid

3.使用獲取到的encryptedData與iv以及獲取到的session_key進行解密,將返回的數(shù)據(jù)轉(zhuǎn)化為數(shù)組,提取其中的nickName與avatarUrl

4.連接服務(wù)器,將openid,nickName,avatarUrl,存入數(shù)據(jù)庫之中文章來源地址http://www.zghlxwxcb.cn/news/detail-509931.html

到了這里,關(guān)于微信小程序session_key、encryptedData、iv進行解密獲取用戶頭像名稱的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 微信小程序解密encryptedData報錯:pad block corrupted 解決方法

    今天碰到一個pad block corrupted錯誤,跟代碼發(fā)現(xiàn)是Cipher里面的doFinal()爆出的錯。 代碼: 錯誤: 找到微信官方社區(qū),才發(fā)現(xiàn)這是微信的一個bug。現(xiàn)在有沒有解決不清楚,但是我們自己可以解決。 原因:wx.login獲取session_key,而sessionKey又是解密encryptedData的密鑰,所以一旦我們的

    2024年02月11日
    瀏覽(21)
  • 微信小程序解密encryptedData 報錯:pad block corrupted 解決方法

    今天碰到一個pad block corrupted錯誤,跟代碼發(fā)現(xiàn)是Cipher里面的doFinal()爆出的錯。 代碼: 錯誤: 找到微信官方社區(qū),才發(fā)現(xiàn)這是微信的一個bug。現(xiàn)在有沒有解決不清楚,但是我們自己可以解決。 原因 :wx.login獲取session_key,而sessionKey又是解密encryptedData的密鑰,所以一旦我們的

    2024年02月12日
    瀏覽(21)
  • 微信小程序獲取文件session會話無效

    微信小程序獲取圖片文件時session會話失效,可以將圖片文件地址請求修改為post請求,返回文件流以base64編碼輸出。 具體請求方式如下:

    2024年02月15日
    瀏覽(22)
  • 微信小程序-key的用法

    微信小程序-key的用法

    在微信小程序中,key是用于標識列表中每個項目的唯一標識符。當(dāng)使用wx:for指令渲染列表時,可以使用key屬性來指定每個項目的key值。這有助于提高列表渲染的性能,并確保在列表中添加或刪除項目時,只更新必要的項目。 wxml: js: 操作前: 操作后: 說明:被選中的checkbox出

    2024年02月05日
    瀏覽(16)
  • 微信小程序?qū)W習(xí)筆記——WX:key的使用

    微信小程序?qū)W習(xí)筆記——WX:key的使用

    wx:key一般是用在wx:for或者其他需要動態(tài)渲染的地方,采用wx:key可以對渲染列表中的元素給定唯一標識,使當(dāng)我們的數(shù)組發(fā)生改變時,渲染中的原數(shù)據(jù)可以保持自己的特性。 舉個例子,現(xiàn)在有個點擊按鈕勾選的例子,當(dāng)我們勾選羔羊排骨一條,點擊增加數(shù)據(jù)后,羔羊排骨左側(cè)的

    2024年02月07日
    瀏覽(17)
  • 微信小程序wx:for 的使用以及wx:key綁定

    wx:for基本使用 wx:for-item和wx:for-index重新命名item和index wx:key兩種綁定方式以及注意事項 wx:for基本使用 業(yè)務(wù)層數(shù)據(jù) 視圖層 wx:for遍歷時候每一項名稱為 item 每一項索引名稱為 index wx:for-item和wx:for-index實現(xiàn)item和index重命名 wx:for-item=\\\"str\\\" 將原來名稱 item 修改成 str wx:for-index=\\\"i 將原來

    2024年02月11日
    瀏覽(14)
  • 微信小程序申請騰訊地圖key(騰訊位置服務(wù)API)簡要流程

    微信小程序申請騰訊地圖key(騰訊位置服務(wù)API)簡要流程

    微信小程序使用騰訊地圖完整流程 前往 騰訊位置服務(wù)官網(wǎng)?點擊右上角 注冊/登錄 后 點擊 控制臺 ? 應(yīng)用管理 -?我的應(yīng)用 - 創(chuàng)建應(yīng)用 - 添加key 創(chuàng)建應(yīng)用時信息隨便填就行 Key名稱 隨便填一個 WebServiceAPI 要 勾選 域名白名單 ,否則一些功能會用不了(比如路線規(guī)劃插件) ser

    2024年02月16日
    瀏覽(32)
  • 【微信小程序】-- WXML 模板語法 - 列表渲染 -- wx:for & wx:key(十二)

    【微信小程序】-- WXML 模板語法 - 列表渲染 -- wx:for & wx:key(十二)

    ?? 所屬專欄:【微信小程序開發(fā)教程】 ?? 作??者:我是夜闌的狗?? ?? 個人簡介:一個正在努力學(xué)技術(shù)的CV工程師,專注基礎(chǔ)和實戰(zhàn)分享 ,歡迎咨詢! ?? 歡迎大家:這里是CSDN,我總結(jié)知識的地方,喜歡的話請三連,有問題請私信 ?? ?? ?? ??大家好,又見面了,

    2024年02月12日
    瀏覽(30)
  • Django后臺和微信小程序之間使用session方法,出現(xiàn)小程序訪問404,Django后臺找不到指定的URL問題解決

    在Django后臺開啟session中間件,小程序端請求Django后臺的session屬性,在Django中執(zhí)行session會話操作,并響應(yīng)應(yīng)答給小程序,在小程序端執(zhí)行cookie的緩存和讀取操作。 在上述的功能完成后,小程序端訪問時出現(xiàn)404錯誤,Django后臺找不到指定的URL路徑。 1、排查Django后臺的URL路徑是

    2024年02月06日
    瀏覽(31)
  • uniapp實現(xiàn)小程序登錄,微信一鍵登錄,獲取token,iv,code,ncryptedData

    uniapp實現(xiàn)小程序登錄,微信一鍵登錄,獲取token,iv,code,ncryptedData

    首先布局登錄按鈕(觸發(fā)登錄的一定要是button,button才有獲取用戶的方法) 2.寫點擊button之后的邏輯,,獲取iv,code,ncryptedData,調(diào)用后端接口進行登錄

    2024年02月13日
    瀏覽(78)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包