def sign_http_request_v3(data, key_id, access_key, timestamp=None): date = time.strftime("%Y-%m-%dT%H:%M:%S.000Z", timestamp or time.gmtime()) data["TimeStamp"] = date canonical_string = "%s:%s:%s" % (data["Action"], key_id, data["TimeStamp"]) digest = hmac.new(access_key, canonical_string, hashlib.sha256).digest() sign = binascii.b2a_base64(digest).strip() return sign, date
def sign_http_request_v1(data, key, timestamp=None): date = time.strftime("%Y-%m-%dT%H:%M:%S.000Z", timestamp or time.gmtime()) data["TimeStamp"] = date canonical_string = get_canonical_string(data) if hasattr(data, "__iter__") else data digest = hmac.new(key, canonical_string, hashlib.sha256).digest() sign = binascii.b2a_base64(digest).strip() return sign, date
def sign_http_request(data, key, timestamp=None): date = time.strftime("%a %d %b %Y %H:%M:%S %Z", timestamp or time.gmtime()) canonical_string = _get_canonical_string(data) if hasattr(data, "__iter__") else data canonical_string += date digest = hmac.new(key, canonical_string, hashlib.sha1).digest() sign = binascii.b2a_base64(digest) if sign.endswith('\n'): sign = sign[:-1] return sign, date
def pretty_time(stamp): return time.strftime('%m.%d.%Y %X', time.gmtime(float(stamp)))