二つのファイル、1 demo.jsがあるだろう、公式マイクロチャネル復号アルゴリズム、ダウンロードPYTHON考えると、一つは**** WXです。Jsの
最後の章では、以前に掲載されています。
WXBizDataCrypt.py APPで新しいプロジェクトを作成し、WXBizDataCrypt.py文書のすべてにマイクロ手紙に貼り付けます。
import base64
import json
from Crypto.Cipher import AES
class WXBizDataCrypt:
def __init__(self, appId, sessionKey):
self.appId = appId
self.sessionKey = sessionKey
def decrypt(self, encryptedData, iv):
# base64 decode
sessionKey = base64.b64decode(self.sessionKey)
encryptedData = base64.b64decode(encryptedData)
iv = base64.b64decode(iv)
cipher = AES.new(sessionKey, AES.MODE_CBC, iv)
decrypted = json.loads(self._unpad(cipher.decrypt(encryptedData)))
if decrypted['watermark']['appid'] != self.appId:
raise Exception('Invalid Buffer')
return decrypted
def _unpad(self, s):
return s[:-ord(s[len(s)-1:])]
無傷。
wx_api.pyで、書き込みビュー。
@api_view(['GET','POST'])
def wx_jiemi(request):
appId = request.GET['appId']
sessionKey = request.GET['sessionKey']
encryptedData = request.GET['encryptedData']
iv = request.GET['iv']
pc = WXBizDataCrypt(appId,sessionKey)
userinfo = pc.decrypt(encryptedData, iv)
print(userinfo)
UserInfo関連情報をプリントアウトし、プレゼンテーションを行いません。
対照的に、その後のuserinfo admin.username USERとOpenIDのは、任意の直接ログインは、ユーザーの情報を拡張するために何のSQLに保存されている管理者のアカウントとパスワードに追加する言葉、付加情報としてのOpenIDではありません。従って前端と後端Djangoは終了クロスアプレット。
私たちは、swpier GETジャンゴカルーセル図小さなプログラムの終了の下で動作します。
ご質問がありましたら、以下のメッセージを残すことができます。