Ucloud api signature生成(python 3)


import hashlib

def _verfy_ac(private_key, params):
    items = sorted(params.items(), key=lambda x: x[0])
    params_data = ""
    for i in items:
        params_data = params_data + i[0] + i[1]
    params_data = params_data + private_key

    sign = hashlib.sha1()
    sign.update(params_data.encode("utf8"))
    signature = sign.hexdigest()

    return signature

s = _verfy_ac("  ", {
    "Action": "DescribeImage",
    "PublicKey": "  ",
    "OsType": "Linux",
    "Region": "cn-bj2"
})

print(s)