1. 程式人生 > >獲得session_key和openId(加解密、簽名系列)

獲得session_key和openId(加解密、簽名系列)

1:session_key和openId是什麼?session_key

官方說明為:
session_key是微信伺服器生成的針對使用者資料進行加密簽名的金鑰

session_key的用途
1)對wx.getUserInfo()介面得到“使用者資訊中的密文”進行解密。
2)對它“稍作處理”,用作維護小程式的登入態。
“稍微處理”大體為:
1)生成一個隨機數(官方把他叫做3rd_session)
2)把這個隨機數當session的key,session_key + openid為value。
即:session[3rd_session]=session_key+openid  

openId
openId:使用者唯一標識
即:每個微信使用者在你的小程式的唯一的標識。

2:如何獲得session_key和openId
獲取步驟:(1)獲得appid,secret,js_code 
(2)用appid,secret,js_code分別替換如上介面地址的APPID、SECRET、JSCODE,其他不變,組裝成完整的地址。
例如:

3:在“瀏覽器開啟此地址”或者“在後臺模擬瀏覽器的GET執行此地址”就可返回如下的JSON資料(包含openid、sessionkey)


總結:從1,2,3步驟可知,只要獲得appid,secret,js_code就可得到session_key和openId

4:appid和secret的獲得
appid為小程式ID
secret為小程式金鑰(AppSecret)

獲得方法:小程式後臺登入網址:https://mp.weixin.qq.com/
開啟小程式後臺網址、註冊、登入後,按如下圖所示就可找到你的AppID和AppSecret。


注意:
5:js_code如何獲得呼叫wx.login()介面就可獲取登入憑證(js_code)

6:總結整個session_key獲取的流程(1)註冊微信小程式、登入後臺在設定中獲得appId和secret(金鑰)
(2)呼叫wx.login()介面獲取登入憑證js_code
(3)呼叫wx.request()介面把js_code傳送到伺服器後臺
(4)在伺服器後臺,已知appId、secret、js_code

然後呼叫如下官方提供的http介面,即可返回獲取openId、session_key
官方提供了http介面地址為:

原文連結:http://bbs.jointforce.com/topic/24476

相關推薦

獲得session_keyopenId解密簽名系列

1:session_key和openId是什麼?session_key 官方說明為: session_key是微信伺服器生成的針對使用者資料進行加密簽名的金鑰 session_key的用途 (1)對wx.getUserInfo()介面得到“使用者資訊中的密文”進行解密。

go實現橢圓曲線解密簽名驗證演算法go ecdsa庫的運用,及生成比特幣地址過程講解base58實現

go實現橢圓曲線加解密、簽名驗證演算法(go ecdsa庫的運用),及生成比特幣地址過程講解、BASE58實現 前言 本文主要講解使用Go的ecdsa庫實現橢圓曲線加解密、簽名、驗證演算法,同時通過公鑰生成比特幣地址,具體程式碼邏輯參考bitcoin0

RSA-演變過程原理特點解密簽名及公鑰私鑰的生成

本篇是iOS逆向開發總結的第一篇文章,是關於iOS密碼學的相關技術分析和總結,希望對大家有所幫助,如果有錯誤地方歡迎指正。 一、前言 密碼學的歷史追溯到2000年前,相傳古羅馬凱撒大帝為了防止敵方截獲情報,用密碼傳送情報。凱撒大帝的做法比較簡單,通過對二十幾個羅馬字母表建立一張對應的表格,這樣如果不知道密碼,

Python pycryptodome的解密簽名驗籤使用心得

1、載入金鑰 key = Crypto.PublicKey.RSA.import_key(open(key_path).read()) 2、簽名與驗籤 用RSA-PSS using SHA-256舉例 def Rsa256_sign_data(data, rsa_key): try

C#實現RSA公鑰加密私鑰解密私鑰加密公鑰解密以及Pcks12X509證書解密簽名驗籤

RSA的私鑰簽名公鑰驗籤可以見http://blog.csdn.net/starfd/article/details/51917916,所以這裡就沒提供對應程式碼,具體程式碼如下: using Org.BouncyCastle.Asn1; using Org.B

【開發筆記】支付專案:1證書解密簽名驗籤

最近做到了支付系統,由於對接第三方系統,涉及到證書籤名的問題,就抽時間瞭解了證書、私鑰、公鑰、簽名、驗籤等概念! 一、應用場景 首先需要了解HTTP和HTTPS        http就是網路的一種協議,伺服器與伺服器之間的資料互動,就用h

講講在銀聯電子支付工作時解密簽名驗籤的那些事(純粹的乾貨)。

        今天我們來講講系統間的互動需要哪些必要的東西才能確保互相通訊會沒有問題呢?首先來看看最傳統的系統互動,即兩者直接互相明文傳送,在這種情況下,若是被第三方攔截,會造成不可預估的影響。那麼針對這種情況我們應該如何避免呢?那好,我們來看看銀聯電子支付公司是如何解決這

2008 R2 輔域安裝卸載退域及組策略的測試

主域 輔域 組策略 加域 退域 一、輔域安裝 1、運行——dcpromo 2、向現有域添加域控制器 3、輸入主域域名fdwxyjy.com 4、選擇站點(默認即可,此處wuxi是因為在AD中重命名了) 5、輔域安裝完後重啟,在主域上可以看到原來Domain Contr

研究基於spring通過對http請求資料的預處理資料解密校驗日誌2過攔截器篇

上文已經詳細講解了如何對request進行處理,本文主要是案例演示 spring MVC 的寫法 新增攔截器 定義一個攔截器 public class AppRequestIntercept

對稱非對稱解密

32位 tro 進行 ont 什麽 金融 被鎖 方式 str 對稱 DES: DES算法 再大多運用在 如信用卡持卡人的PIN的加密傳輸,IC卡與POS間的雙向認證、金融交易數據包的MAC校驗等領域 DES算法的入口參數有三

轉:標準銀聯POS解密及MAC演算法

private static final int iSelePM1[] = { // 置換選擇1的矩陣       57, 

【深度學習數學基礎】向量點乘內積叉乘外積向量積概念及幾何意義解讀

1. 點乘 向量的點乘,也叫向量的內積、數量積,對兩個向量執行點乘運算,就是對這兩個向量對應位一一相乘之後求和的操作,點乘的結果是一個標量。 對於向量a和向量b:                                                 

restful的認識使用包括controllerservice前端ajax的整個用法

一、restful的認識 (1)RESTful是一種架構的規範與約束、原則,符合這種規範的架構就是RESTful架構。 (2)簡單概括 /emp/{id} GET查詢一個員工 /emp GET查詢所有員工 /emp POST儲存一個員工 /emp/{id

怎樣區分線性非線性_線性與非線性的區別線性分析線性模型

一直對線性非線性沒有很準確的定義認識,今天特意查了查,特此記錄下。 怎樣區分線性和非線性 1.線性Line,是指量與量之間按照比例成直線關係,在數學上可理解為一階導數是個常數;    非線性non-line則指不按照比例不成直線關係,一節導數不為常數。 2.線性可

Centos系統下解除安裝安裝MySQL及使用者的建立授權使用詳細。。。。

由於經常使用linux系統,並且大資料環境搭建中經常會使用到mysql,不像windows系統下的安裝,今天有點空寫一篇,下面我給大家演示一遍。 主要有三部分內容: 1、MySQL的解除安裝 2、MySQL的安裝 3、MySQL使用者的授權和使用者建立、刪除 一、MySQL的解除安裝(如果是僅僅安裝

Java日期時間JDK—API1.6.0Date類Calendar類

java.util,Date Java在java.util包中提供了Date類,這個類封裝了當前的日期和時間: 所有已經實現的介面:Serializable         Cloneable      &

向量點乘內積叉乘外積向量積概念及幾何意義解讀

向量是由n個實陣列成的一個n行1列(n*1)或一個1行n列(1*n)的有序陣列; 向量的點乘,也叫向量的內積、數量積,對兩個向量執行點乘運算,就是對這兩個向量對應位一一相乘之後求和的操作,點乘的結果是一個標量。 點乘公式 對於向量a和向量b:            

過程模型介紹對比敏捷開發瀑布式模型等

1.瀑布模型   1.1 瀑布模型介紹   1970年溫斯頓·羅伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被廣泛採用的軟體開發模型。   1.2 瀑布模型核心思想   瀑布模型核心思想是按工序將問題化簡,將功

Oracle 單行函式多行函式組函式聚合函式

Oracle中函式主要分為單行函式和多行函式 一、特點: 單行函式可以多層巢狀,多行函式(組函式)只能巢狀兩層(多層巢狀沒有意義)。 多行函式通常用於整表或分組統計查詢中 每次處理完一條記錄返回一個結果 二、常見的單行函式(數量比較多): lower

js 判斷鍵盤事件大全 相容FireFoxIE退格製表回車空格方向鍵刪除鍵等

js 鍵盤事件全面控制 相容FireFox和IE 主要分四個部分  第一部分:瀏覽器的按鍵事件  第二部分:相容瀏覽器  第三部分:程式碼實現和優化  第四部分:總結  第五部分:例項介紹  附:鍵盤對應編碼值 第一部分:瀏覽器的按鍵事件 用js實現鍵盤記錄,要關注瀏覽器