PHP微信小程式之獲取並解密使用者資料獲取openId和unionId
每種後臺語言對於AES加密都有相應的介面支援,呼叫即可。
微信官方提供了(PHP,Node,Phython,C++)程式語言的示例程式碼
每種語言型別的介面名字均一致。
呼叫方式可以參照官方提供示例(點選下載示例程式碼)
本文只對PHP版的做了註釋,其他語言類似
。
注意:
看本文前,需要理解AES-128-CBC及psck#7資料填充方式
正文開始
1: demo.php(AES使用程式碼)
<?php
//載入解密處理類
include_once "wxBizDataCrypt.php";
//1:wx後臺得到
$appid ='wx4f4bc4dec97d474b';
//2:[客戶端]傳送到伺服器js_code(伺服器用js_code換取sessionKey)
$sessionKey ='tiihtNczf5v6AKRyjwEUhQ==';
//3:[客戶端]傳送到伺服器(客戶端getUserInfo()獲取)
$encryptedData="CiyLU1Aw2KjvrjMdj8YKliAjtP4gsMZM
QmRzooG2xrDcvSnxIMXFufNstNGTyaGS
9uT5geRa0W4oTOb1WT7fJlAC+oNPdbB+
3hVbJSRgv+4lGOETKUQz6OYStslQ142d
NCuabNPGBzlooOmB231qMM85d2/fV6Ch
evvXvQP8Hkue1poOFtnEtpyxVLW1zAo6
/1Xx1COxFvrc2d7UL/lmHInNlxuacJXw
u0fjpXfz/YqYzBIBzD6WUfTIF9GRHpOn
/Hz7saL8xz+W//FRAUid1OksQaQx4CMs
8LOddcQhULW4ucetDf96JcR3g0gfRK4P
C7E/r7Z6xNrXd2UIeorGj5Ef7b1pJAYB
6Y5anaHqZ9J6nKEBvB4DnNLIVWSgARns
/8wR2SiRS7MNACwTyrGvt9ts8p12PKFd
lqYTopNHR1Vf7XjfhQlVsAJdNiKdYmYV
oKlaRv85IfVunYzO0IKXsyl7JCUjCpoG
20f0a04COwfneQAGGwd5oa+T8yO5hzuy
Db/XcxxmK01EpqOyuxINew==";
//4:[客戶端]傳送到伺服器(客戶端getUserInfo()獲取)
$iv ='r7BXXKkLb8qrSNn05n0qiA==';
//用appid、sessionKey初始化“解密處理類
$pc =newWXBizDataCrypt($appid, $sessionKey);
//執行解密,正確返回$data,錯誤返回$errCode
$errCode = $pc->decryptData($encryptedData, $iv, $data );
if($errCode ==0){//0表示正常
print($data ."
");
}else{
print($errCode ."
");
}
2:wxBizDataCrypt.php(解密處理)
<?php
/**
* 對微信小程式使用者加密資料的解密示例程式碼.
*
* @copyright Copyright (c) 1998-2014 Tencent Inc.
*/
//pkcs#7填充方法類
include_once "pkcs7Encoder.php";
//錯誤程式碼定義
include_once "errorCode.php";
//解密處理類
classWXBizDataCrypt
{
private $appid;
private $sessionKey;
相關推薦
PHP微信小程式之獲取並解密使用者資料獲取openId和unionId
前言微信小程式API文件:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html在實際的小程式開發中,往往需要使用者授權登陸並獲取使用者的資料,快速對接使用者系統。openId : 使用者在當前小程式的唯一標識
微信小程式之動態新增、刪除指定內容(view)和獲取input值
這次遇到個問題: 1. 動態的新增指定的view內容。。嗯。。很簡單。。wx:for就搞定 2. 動態新增的內容中有input,最終獲取值的時候,要獲取到所有input的值並且是一個數組。。嗯。。 3. 動態刪除指定的已經新增的view內容。。 思路: 1. wx:for 迴圈view,新
微信小程式之快取——不同頁面傳遞資料
1. 新增快取 單個金鑰允許儲存的最大資料長度為1MB,所有資料儲存上限為10MB。 // 儲存資訊到storage // 非同步儲存 set() { wx.setStorage({ key: 'user', data: 'cck', succe
微信小程式聯盟:微信小程式之獲取並解密使用者資料(獲取openId、unionId)
前言在實際的小程式開發中,往往需要使用者授權登陸並獲取使用者的資料,快速對接使用者系統。openId : 使用者在當前小程式的唯一標識 unionId : 如果開發者擁有多個移動應用、網站應用、和公眾帳號(包括小程式),可通過unionid來區分使用者的唯一性,因為只要是同一
JAVA微信小程式之獲取並解密使用者資料(獲取openId、unionId)
前言在實際的小程式開發中,往往需要使用者授權登陸並獲取使用者的資料,快速對接使用者系統。openId : 使用者在當前小程式的唯一標識unionId : 如果開發者擁有多個移動應用、網站應用、和公眾帳號(包括小程式),可通過unionid來區分使用者的唯一性,因為只要是同一個微信開放平臺帳號下的移動應用、網站
11.微信小程式之canvas生成圖片並儲存到手機
在小程式中,會有這樣一種需求,儲存某一個頁面並將其分享到朋友圈。一般的做法是:將這個頁面用canvas繪製出來,通過wx.canvasToTempFilePath,把當前畫布指定區域的內容匯出生成指定大小的圖片。然後再通過wx.saveImageToPhotosAlbum,儲存圖片到系統相簿。由
微信小程式之獲取後臺動態資料Gird表格佈局display:grid
在工作中常用的就是flex佈局和grid佈局了,因為本人對grid佈局不是很熟練,這次主要是想模擬獲取後臺的動態資料來動態的設定表格佈局,算是一個簡單的嘗試,畢竟之前沒有用過。分享一下。 (一)實現效果 跟我上一篇文章微信小程式之獲取後臺動態資料表格佈局dis
微信小程式之使用者登入(獲取使用者資訊,openid,unionld) java後臺版
參考文章:https://blog.csdn.net/guochanof/article/details/80189935;感謝作者給的思路與大部分問題解決辦法由於微信官方api的更改,wx.getuserinfo()方法無法在無授權的情況下直接使用,參考文中作者是直接可以拉
微信小程式之獲取使用者資訊介面優化調整
突然收到這個訊息的我是懵逼的,因為這意味著我要改需求! 新的處理方式就是 我的做法是做一個緩衝載入頁,然後通過wx.getUserInfo獲取使用者資訊,如果已經授權過了,那麼是可以獲取資訊的
微信小程式之獲取驗證碼js
在微信小程式中怎樣實現獲取驗證碼的倒計時功能,倒計時的原理是一樣的,就是某些地方需要注意。 第一步結構:結構 <view class='get-code' wx:if="{{!isShow}}" bindtap='getCode'>獲取驗證碼</view> &
微信小程式之PHP後端伺服器資料庫的連線處理
弄個小程式真是腦殼疼,好不容易把前端弄好,把伺服器佈置好,但是如何連線後臺伺服器和資料庫實現資料互動呢?網上搜到的部落格教程真是夠亂的,對於我這種後端技術小白一點都不友好!我摸索的好幾天,終於前端能讀取到伺服器的 mysql 資料庫,所以來這記錄下一些過程和坑,說
微信小程式之獲取百度天氣
能夠獲取天氣的開放平臺有很多,比如高德地圖、百度地圖、YY天氣等,這裡我們主要講述一下呼叫百度API實時獲取天氣的方式。 獲取金鑰之後,點選左側的“配置環境”, 根據其指引下載得到 bmap-xw.js 檔案,並放在小程式專案中(新建libs資料夾,與pages資
微信小程式之PHP伺服器搭建
在去年的時候,參加過學校的一個創業活動,在團隊決定做一個關於圖書的微信小程式以後,我負責做微信小程式的後臺程式,因為初次接觸,決定選用較為簡單的PHP作為後臺語言,實現了微信小程式的一些基本功能,例如對微信前段來的圖片文字進行儲存,或者接收到前端傳來的關鍵字對伺服器裡
微信小程式之物流狀態時間軸
一個月左右沒更新部落格了,最近有點懶了哈(工作上真的忙),很多工作上學習到的東西都沒有及時分享出來,有點愧疚,不過自己最近一直在收集資料和學習一些新技術,最主要是想要構建自己的前端技術體系和自定義一個前端規範文件,哈哈哈。說重點啦,微信小程式裡面開發的商城模組還挺多的,剛好寫了一個物流狀態的時間軸,簡單分享一
微信小程式之微信登陸 —— 微信小程式教程系列(20)
簡介: 微信登陸,在新建一個微信小程式Hello World專案的時候,就可以看到專案中出現了我們的微信頭像,其實這個Hello World專案,就有一個簡化版的微信登陸。只不過是,還沒有寫入到咱們自家的後臺中而已。 新建一個Hello World專案,找到a
微信小程式之swiper限制迴圈滑動
最近接的一個單子是使用swiper來達到頁面之間完美滑動的效果的。也就三個頁面首頁、內容頁、尾頁。 但是客戶要求首頁不能滑到尾頁,尾頁不能滑到首頁。 在官方文件中沒有找到方法,因此只能繞彎路了。 wxml頁面程式碼:重點在於 current='{{show_index}}'
微信小程式之介面互動反饋
互動反饋就是在使用者觸發某事件之後,給使用者一個反饋資訊。 在小程式中是通過以下幾種方式實現的: 1.wx.showToast()方法 showToast: function (postscollected, postcollected) {
微信小程式之側邊欄滑動實現(附完整原始碼)
目錄 一、效果圖 二、原理解析 三、原始碼 四、專案下載 同類文章推薦: 更多幹貨關注公眾號: 一、效果圖 講什麼都不如直接上效果圖好,所以我們先來看下實現效果如何。 通過滑動螢幕,或者點選左上角的圖示按鈕,都能實現側邊欄的劃出效果。 &nb
Android 分享微信小程式之圖片優化
小菜上週接入了微信分享小程式的入口,基本功能實現都沒問題,有需要的朋友可以瞭解一下 Android 分享微信小程式失敗二三事,雖然功能都正常,但整體測試發現圖片展示效果不佳。於是小菜整理了一個簡單的小方法處理一下圖片!
微信小程式之踩坑textarea 元件的 bug
微信小程式公測也有段時間了,但是裡面的坑踩了一個又一個,心也是夠累的。本文說說關於 textarea 元件的 bug。(注:本文提及的 bug,至少在 2016-12-1日還存在) 上一篇:微信小程式之踩坑之旅一,wx.request 和 wx.uploadFile 測試時使用到: