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)