原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處
1:基本信息:
能直接看到(明文),是微信認為不敏感的信息,如:昵稱、頭像、性別等
2:簽名驗證信息:
驗證接收的這些信息是否安全(和發出來時一致,沒被中途修改或者偽造)
詳見此文:
7:用戶數據簽名詳解(加解密、簽名系列)
3:加密信息:
對于微信認為的敏感數據,如openId、unionId等
微信服務器通過AES加密算法
把所有能看到敏感數據加密為encryptedData密文
。
如果想得到openId
和unionId
,就需要encryptedData
進行AES解密
首次看到如上解密說明時,我只知道encryptedData和session_key獲得方式。
session_key在上篇有介紹,如下:
1:獲得session_key和openId(加解密、簽名系列)
AES-128-CBC是什么?
PKCS#7數據填充是什么?
Base64_Decode是什么?
初始向量iv是做什么用的?
每種后臺語言都有AES相應的接口支持,調用即可。
微信官方提供了(PHP,Node,Phython,C++)編程語言的示例代碼
每種語言類型的接口名字均一致。
調用方式可以參照官方提供示例
(點擊下載示例代碼)