python将字段转换成key=value字符串

"""
将字典排序转换成键值对
dictA={"a":"1","c":"3","e":"5","d":"4","b":"2"}
"""
dictA = {"a": "1", "c": "3", "e": "5", "d": "4", "b": "2"}
dictA = sorted(dictA.items())
keyValue = "&".join(['{}={}'.format(*i) for i in dictA])
print(keyValue)

运行结果:

a=1&b=2&c=3&d=4&e=5

测试应用:

接口文档:

 

 

 

 解决代码:

import hashlib


def sign(json_data, secret_string):
    new_list = sorted(json_data.items())  # 将字典按照key正序排列
    # 将字典按照key1=value1&key2=value2……的形式转化为字符串
    key_value = "&".join(['{}={}'.format(*i) for i in new_list])
    # MD5加密
    md5 = hashlib.md5()
    new_string = key_value + secret_string
    md5.update(new_string.encode("utf-8"))
    sign_string = md5.hexdigest()
    return sign_string.upper()  # 输出字符串字母大写


if __name__ == '__main__':
    data = {"access_key": "Tmzlwrbym9OMkSDd", "taskName": "任务A", "templateId": 31}
    secret = "Ze2a7acuSBciveXD9svyLSqpU7ErCIcr"
    print(sign(data, secret))

运行结果:

 

posted @ 2022-06-24 21:07  童薰  阅读(647)  评论(1编辑  收藏  举报