python笔记44-HTTP对外接口sign签名
发布日期:2021-05-09 09:02:29 浏览次数:18 分类:博客文章

本文共 4244 字,大约阅读时间需要 14 分钟。

������

���������������������������������������sign������������������������������������������apikey ,������������������������������������������������������������������������������

sign���������������������������������

sign������

������������sign���������������

  • ���1���: ���������������������������������������������������sign���������������������������������������������������������������������
  • ���2���: ������������������������������������1���1������2���2���������n���n���������������������������������������������������������������������������������������������������"������������������������������������������������������������
  • ���3���: ������������������������������������key������������2���������������������key���
  • ���2���: ������������������������������������������������������key(���������������key���������������������������������������������)���������������md5������������32���������������������������������.
  • ���4���: ���������3���������������������������������md5���(32���)���������������������������sign���������

������������������������http://www.xxx.com/interface.aspx?sign=sign_value&p2=v2&p1=v1&method=cancel&p3=&pn=vn

������������������������������post������������������
������sign���������������sign_value���������������������
������������������������������������������sign���������������������������������������������p3���������p2=v2&p1=v1&method=cancel&pn=vn���
���������������������������������������method=cancel&p1=v1&p2=v2&pn=vn.
������������������������������������������������������������methodcancelp1v1p2v2pnvn
������������������������������������������������������������������key������������������abc������������������������methodcancelp1v1p2v2pnvnabc
������������������������������������������������������md5���������������������������abcdef������������������sign������������
���������������md5���������������������������������������������������������������������������utf-8������������GBK������������������������������������������������������������������������������

python������sign������

���������������������apikey���12345678������������body���������

body = {    "username": "test",    "password": "123456",    "mail": "",    "sign": "���������������"}

������python������������

import hashlib# ������-������ QQ������������717225969apikey = "12345678"  # ������������������������������body = {    "username": "test",    "password": "123456",    "mail": ""}# ������������������������key=value������a = ["".join(i) for i in body.items() if i[1] and i[0] != "sign"]print(a)# ���������ASCII���������������������strA = "".join(sorted(a))print(strA)# ���strA���������������apiKey������striSignTemp���������striSignTemp = strA+apikey# ���strSignTemp������������������������������������������MD5������# MD5������def jiamimd5(src):    m = hashlib.md5()    m.update(src.encode('UTF-8'))    return m.hexdigest()sign = jiamimd5(striSignTemp.lower())print(sign)# ������sign���������������body���body["sign"] = signprint(body)

������������

['usernametest', 'password123456']password123456usernametest1aca01806e93bb408041965a817666af{'username': 'test', 'password': '123456', 'mail': '', 'sign': '1aca01806e93bb408041965a817666af'}

������������

������������������������������������������������������������������

import hashlib# ������-������ QQ������������717225969def sign_body(body, apikey="12345678"):    '''������body sign������'''    # ������������������������key=value������    a = ["".join(i) for i in body.items() if i[1] and i[0] != "sign"]    # print(a)    # ���������ASCII���������������������    strA = "".join(sorted(a))    # print(strA)    # ���strA���������������apiKey������striSignTemp���������    striSignTemp = strA+apikey    # ���strSignTemp������������������������������������������MD5������    # MD5������    def jiamimd5(src):        m = hashlib.md5()        m.update(src.encode('UTF-8'))        return m.hexdigest()    sign = jiamimd5(striSignTemp.lower())    # print(sign)    # ������sign���������������body���    body["sign"] = sign    # print(body)    return bodyif __name__ == '__main__':    apikey = "12345678"  # ������������������������������    body = {        "username": "test",        "password": "123456",        "mail": "",        "sign": ""    }    print(sign_body(body, apikey="12345678"))
上一篇:httprunner学习24-sign签名验证
下一篇:httprunner学习23-加解密

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年04月21日 02时38分13秒