青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Benjamin

靜以修身,儉以養德,非澹薄無以明志,非寧靜無以致遠。
隨筆 - 398, 文章 - 0, 評論 - 196, 引用 - 0
數據加載中……

中宣部防沉迷系統python版本

import json
from Crypto.Cipher import AES
import base64
import requests
import hashlib
import time
import os
import binascii
URL = "https://wlc.nppa.gov.cn/test/authentication/check"  #接口調用地址(實名認證)
KEY = "d10d8642c66c1c785aa32b194aba2afa"                   #訪問密鑰                     
APPID = "9177929f5010481b858f661a409fd764"                 #接口調用唯一憑證 由系統發放
BIZID = "1101999999"                                       #業務權限標識 與游戲備案識別碼一致
#測試用例
TEST_PARAMS = {"ai":"100000000000000001",
"name":"某一一",
"idNum":"110000190101010001"}
class AES_GCM(object):
    def __init__(self, key):
        self.key = key  #秘鑰
        self.MODE = AES.MODE_GCM
        self.iv = os.urandom(12)
    def aes_encrypt(self, params):
        aes = AES.new(binascii.unhexlify(self.key), self.MODE, self.iv)
        params, tag=aes.encrypt_and_digest(json.dumps(params).encode("utf-8"))
        base64_data= self.iv + params + tag
        encrypted_text = str(base64.b64encode(base64_data), encoding='utf-8')
        return encrypted_text
    def aes_decrypt(self, encrypted_text):
        encrypted_text = base64.b64decode(encrypted_text)
        cipher = AES.new(binascii.unhexlify(self.key), self.MODE, encrypted_text[:12])
        cc = cipher.decrypt_and_verify(encrypted_text[12:-16], encrypted_text[-16:])
        return json.loads(cc)
def hash256(pre_hash_text):
    hs256 = hashlib.sha256()
    hs256.update(pre_hash_text.encode())
    return hs256.hexdigest()
def sorted_params(params, param_="%s%s", none_keys = []):
    return "".join([
            param_ % i for i in
            sorted(params.items(), key=lambda d:d[0]) if i[0] not in none_keys
            ])
def main():
    aesobject = AES_GCM(KEY)
    _time = str(int(time.time() * 1000))
    #############上報用戶行為(上線 下線),直接替換TEST_PARAMS 接口調用地址 http:// api2.wlc.nppa.gov.cn/behavior/collection/loginout  實名認證接結果查詢接口http:// api2.wlc.nppa.gov.cn/idcard/authentication/query
    #no:[條目編碼]在批量模式中標識一條行為數據,取值范圍 1-128
    #si:[游戲內部會話標識]一個會話標識只能對應唯一的實名用戶,一個實名用戶可以擁有多個會話標識;同一用戶單次游戲會話中,上下線動作必須使用同一會話標識上報備注:
    #                  會話標識僅標識一次用戶會話,生命周期僅為一次上線和與之匹配的一次下線,不會對生命周期之外的任何業務有任何影響
    #bt:[用戶行為類型]游戲用戶行為類型0:下線,1:上線
    #ot:[行為發生時間]行為發生時間戳,單位秒
    #ct:[上報類型]用戶行為數據上報類型,0:已認證通過用戶,2:游客用戶
    #di:[設備標識]游客模式設備標識,由游戲運營單位生成,游客用戶下必填
    #pi:[用戶唯一標識]已通過實名認證用戶的唯一標識,已認證通過用戶必填 由38位的字符串構成,其中包括用戶出生日期和用戶編碼兩部分。用戶出生日期以26進制(10個數字+英文字母表前16個字母)的方式編碼,位于用戶唯一標識前6位;用戶編碼由網絡游戲防沉迷實名認證系統生成,位于用戶唯一標識的后32位。
    #   例如:用戶唯一標識 1hpfml09b57f3f8185f8cb5094ea3f26278efb 用戶生日部分是1hpfml 用戶編碼部分是09b57f3f8185f8cb5094ea3f26278efb 
    player_data = {'collections':[{"no":1,"si":"w7ligxjw355ftctm94yqt9dcew4zd723","bt":0,"ot":_time,"ct":0,"di":"uyiv6clpf7cu296pd4ppv11le820dhkw","pi":"1fffbjzos82bs9cnyj1dna7d6d29zg4esnh99u"}]}
    ##############
    aes_gcm = aesobject.aes_encrypt(TEST_PARAMS)
    body_data='{"data":"%s"}' % aes_gcm  ## 國家游戲防沉迷的api試了不能進行json.dumps()
    ## 加入請求頭報文
    headers = {"Content-Type":"application/json; charset=utf-8","appId":APPID,"bizId":BIZID,"timestamps":_time}
    ## 對請求頭報文排序并排除 不必要的字段進行字符串拼接
    params_str = sorted_params(headers, none_keys=["Content-Type"])
    headers["sign"] = hash256("".join([KEY, params_str, body_data]))
    # print(aesobject.aes_decrypt(aes_gcm)) ## 解碼
    response = requests.post(URL, headers=headers, data= body_data)
    print(response.json())
if __name__ == '__main__':
    main()
    
附錄:  響應參數 
字段                  類型       名稱             字段說明 
errcode               Int       狀態碼             狀態碼 
errmsg                String    狀態描述           狀態描述 
data                  Object    響應對象          響應結果 
data.result           Object    響應結果對象      響應結果內容 
data.result.status    Int       實名認證結果      認證結果 0:認證成功 1:認證中  2:認證失敗 
data.result.pi       String     用戶唯一標識      已通過實名認證用戶的唯一標識
    
接口返回狀態碼
狀態碼               狀態描述           狀態說明 
0                     OK                請求成功
1001                SYS ERROR           系統錯誤 
1002      SYS REQ RESOURCE NOT EXIST    接口請求的資源不存在 
1003        SYS REQ METHOD ERROR        接口請求方式錯誤 
1004      SYS REQ HEADER MISS ERROR     接口請求核心參數缺失 
1005      SYS REQ IP ERROR              接口請求IP地址非法 
1006      SYS REQ BUSY ERROR            接口請求超出流量限制 
1007      SYS REQ EXPIRE ERROR          接口請求過期 
1008      SYS REQ PARTNER ERROR         接口請求方身份非法 
1009      SYS REQ PARTNER AUTH DISABLE  接口請求方權限未啟用 
1010        SYS REQ AUTH ERROR          接口請求方無該接口權限 
1011      SYS REQ PARTNER AUTH ERROR    接口請求方身份核驗錯誤 
1012      SYS REQ PARAM CHECK ERROR     接口請求報文核驗失敗
實名認證業務異常
2001      BUS AUTH IDNUM ILLEGAL        身份證號格式校驗失敗 
2002      BUS AUTH RESOURCE LIMIT       實名認證條目已達上限 
2003      BUS AUTH CODE NO AUTH RECODE  無該編碼提交的實名認證記錄 
2004      BUS AUTH CODE ALREADY IN USE  編碼已經被占用
游戲用戶行為數據上報業務異常 
3001     BUS COLL PARTIAL ERROR         行為數據部分上報失敗 
3002     BUS COLL BEHAVIOR NULL ERROR   行為數據為空 
3003     BUS COLL OVER LIMIT COUNT      行為數據超出條目數量限制 
3004     BUS COLL NO INVALID            行為數據編碼錯誤 
3005     BUS COLL BEHAVIOR TIME ERROR   行為發生時間錯誤 
3006     BUS COLL PLAYER MODE INVALID   用戶類型無效 
3007     BUS COLL BEHAVIOR MODE INVALID 行為類型無效 
3008     BUS COLL PLAYERID MISS         缺失PI(用戶唯一標識)值 
3009     BUS COLL DEVICEID MISS         缺失DI(設備標識)值 3
010      BUS COLL PLAYERID INVALID PI (用戶唯一標識)值無效

posted on 2021-08-28 10:52 Benjamin 閱讀(4774) 評論(0)  編輯 收藏 引用 所屬分類: python

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            91久久综合| 国产精品你懂的在线欣赏| 国产精品久久久久一区| 久久久国产午夜精品| 国产一区二区三区电影在线观看| 欧美一级大片在线观看| 欧美一级专区免费大片| 欧美激情一区二区三级高清视频| 伊人久久久大香线蕉综合直播| 另类亚洲自拍| 欧美激情在线播放| 亚洲一区二区四区| 亚洲欧美国产精品va在线观看| 国产偷久久久精品专区| 欧美激情亚洲视频| 欧美日韩一区二区在线播放| 久久成人18免费观看| 久久一本综合频道| 亚洲午夜91| 欧美在线免费观看| 一本色道久久精品| 欧美一区二区在线免费播放| 亚洲美女视频在线免费观看| 亚洲一区制服诱惑| 亚洲激情一区| 性欧美xxxx视频在线观看| 亚洲欧洲一区二区三区久久| 中文精品视频| 亚洲国产综合在线| 欧美在线日韩| 亚洲在线视频网站| 免费视频一区二区三区在线观看| 噜噜噜在线观看免费视频日韩| 亚洲直播在线一区| 免费欧美视频| 久久一区中文字幕| 国产精品久久二区二区| 亚洲电影第1页| 国语自产偷拍精品视频偷| 在线视频精品一区| 日韩一级黄色av| 另类激情亚洲| 久久综合网络一区二区| 国产精品一区二区欧美| 一本色道久久88亚洲综合88| 亚洲成色777777女色窝| 亚洲欧美日韩精品在线| 亚洲欧美视频一区| 欧美日本乱大交xxxxx| 免费在线成人| 日韩视频亚洲视频| 韩国亚洲精品| 国产欧美精品一区二区三区介绍 | 久久亚洲私人国产精品va| 欧美亚洲网站| 欧美体内she精视频| 亚洲人成免费| 亚洲人成网站在线播| 久久偷看各类wc女厕嘘嘘偷窃| 久久精品国产69国产精品亚洲| 国产精品国产三级国产aⅴ9色| 亚洲精品国产精品国自产在线| 亚洲欧洲精品天堂一级| 老司机精品福利视频| 免费欧美在线视频| 中文欧美日韩| 午夜精品成人在线| 国产精品久久久久久久7电影 | 欧美一区二区在线观看| 欧美一区二区三区在线视频| 国产精品外国| 性欧美1819sex性高清| 久久久久久久一区二区三区| 国产一区二区三区日韩欧美| 久久er99精品| 免费看亚洲片| 99国产一区| 欧美日韩综合视频网址| 国产精品99久久久久久久久久久久| 亚洲免费视频网站| 国产日产亚洲精品| 久久婷婷久久| 亚洲精品一区在线| 午夜日韩电影| 在线免费观看日韩欧美| 欧美日韩精品免费观看视频完整 | 亚洲香蕉成视频在线观看 | 亚洲免费人成在线视频观看| 国产精品日韩久久久| 欧美在线免费观看| 亚洲欧洲日本在线| 亚洲欧美激情一区二区| 国内精品国语自产拍在线观看| 老司机aⅴ在线精品导航| 亚洲人永久免费| 欧美一区二区视频观看视频| 影音先锋亚洲电影| 国产精品高潮在线| 久久尤物电影视频在线观看| 中日韩视频在线观看| 六月婷婷一区| 亚洲免费在线电影| 91久久精品美女| 国产精品一区二区在线| 欧美成人精品在线视频| 西瓜成人精品人成网站| 亚洲人在线视频| 蜜桃av噜噜一区| 欧美一级视频一区二区| 亚洲日本中文字幕免费在线不卡| 国产欧美亚洲精品| 欧美日韩高清在线播放| 久久久久久久999| 久久免费视频在线观看| 亚洲国产日韩欧美综合久久| 亚洲欧美精品伊人久久| 亚洲片国产一区一级在线观看| 国产日韩欧美精品一区| 欧美日韩国产成人在线| 美女日韩在线中文字幕| 久久国产精品免费一区| 中文在线资源观看视频网站免费不卡| 欧美777四色影视在线| 久久国产精品一区二区三区四区 | 欧美黄在线观看| 欧美综合国产| 亚洲欧美成人在线| 一本一本a久久| 99伊人成综合| 亚洲精品在线观看免费| 在线播放日韩| 极品日韩av| 一区二区91| 亚洲美女毛片| 亚洲精品美女| 91久久精品一区二区三区| 欧美肥婆在线| 亚洲国产精品久久久久秋霞蜜臀| 老司机凹凸av亚洲导航| 久久久欧美精品| 久久综合电影| 欧美18av| 亚洲国产精品99久久久久久久久| 欧美成人有码| 欧美国产三区| 最新日韩在线| 亚洲精品在线观看视频| 亚洲日本一区二区| 日韩视频在线永久播放| 亚洲美女少妇无套啪啪呻吟| 亚洲精品在线观| 亚洲午夜一级| 欧美在线三级| 欧美成人免费在线| 欧美日韩天天操| 国产精品欧美经典| 国内精品美女在线观看| 亚洲国产日韩在线一区模特| 亚洲欧洲在线播放| 在线视频精品一| 欧美在线观看一二区| 久久久久久穴| 亚洲国产一成人久久精品| 在线中文字幕一区| 欧美伊人精品成人久久综合97| 久久久久久网址| 欧美日韩国产不卡| 国产视频不卡| 亚洲日韩成人| 久久国产精品99久久久久久老狼 | 亚洲亚洲精品在线观看| 欧美一区二区在线免费播放| 狂野欧美一区| 日韩一区二区免费高清| 欧美在线国产| 欧美日韩系列| 狠狠色丁香久久婷婷综合_中| 日韩午夜电影av| 欧美中文在线观看国产| 亚洲第一区色| 久久国产精品亚洲77777| 欧美精品自拍偷拍动漫精品| 国产欧美一区二区三区视频| 亚洲精品乱码久久久久久| 欧美一区二区高清| 亚洲韩国精品一区| 午夜精品福利视频| 欧美乱在线观看| 一区福利视频| 欧美一区二区三区啪啪| 欧美专区日韩专区| 欧美成人日韩| 国产精品一区二区男女羞羞无遮挡| 亚洲国产经典视频| 欧美有码在线视频| 一区二区三区国产精华| 欧美激情va永久在线播放| 国产自产在线视频一区| 亚洲性视频网址| 日韩视频―中文字幕|