auth.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:depot_tools 作者: webrtc-uwp 项目源码 文件源码
def calc_signature(self, args):
        scheme, host, port = requests.packages.urllib3.get_host(args['url'])
        string_to_sign = '%s\n%s\n%s\n' % (args['method'], host, '/')
        hmac = self.hmac.copy()
        args['params']['SignatureMethod'] = 'HmacSHA256'
        if self.credentials.token:
            args['params']['SecurityToken'] = self.credentials.token
        sorted_params = sorted(args['params'])
        pairs = []
        for key in sorted_params:
            value = args['params'][key]
            pairs.append(quote(key, safe='') + '=' +
                         quote(value, safe='-_~'))
        qs = '&'.join(pairs)
        string_to_sign += qs
        print('string_to_sign')
        print(string_to_sign)
        hmac.update(string_to_sign.encode('utf-8'))
        b64 = base64.b64encode(hmac.digest()).strip().decode('utf-8')
        return (qs, b64)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号