DJANGO小さなプログラム - のOpenIDでのユーザ情報02を取得します

二つのファイル、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ジャンゴカルーセル図小さなプログラムの終了の下で動作します。

ご質問がありましたら、以下のメッセージを残すことができます。

公開された12元の記事 ウォンの賞賛0 ビュー185

おすすめ

転載: blog.csdn.net/weixin_44675051/article/details/104894386
おすすめ