sign

    def getSignStr(secretKey, signStr):        '''https://cloud.tencent.com/document/product/570/13939    $secretKey = 'pxPgRWDbCy86ZYyqBTDk7WmeRZSmPco0';    $srcStr = 'GETdsa.api.qcloud.com/v2/index.php?Action=GetDsaHostList&Nonce=48059&SecretId=AKIDT8G5AsY1D3MChWooNq1rFSw1fyBVCX9D&SignatureMethod=HmacSHA256&Timestamp=1502197934&length=10&offset=0';    $signStr = base64_encode(hash_hmac('sha256', $srcStr, $secretKey, true));    echo $signStr;    oC20lImZgsEZYZqHYQnbvBxEkIFUxgoDhE3GkQA8Ax8=        https://www.php.net/manual/en/function.hash-hmac.php        hash_hmac ( string $algo , string $data , string $key [, bool $raw_output = FALSE ] ) : stringalgoName of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..) See hash_hmac_algos() for a list of supported algorithms.dataMessage to be hashed.keyShared secret key used for generating the HMAC variant of the message digest.raw_outputWhen set to TRUE, outputs raw binary data. FALSE outputs lowercase hexits.    # https://github.com/TencentCloud/tencentcloud-sdk-python/blob/c53791afe6403c57a0cacbf9cb1512870c070ec4/tencentcloud/common/sign.py        :param strList:        :return:        '''        import hmac        import hashlib        import urllib.parse        import binascii        signStr = bytes(signStr, 'utf-8')        secretKey = bytes(secretKey, 'utf-8')        digestmod = hashlib.sha256        hashed = hmac.new(secretKey, signStr, digestmod)        base64 = binascii.b2a_base64(hashed.digest())[:-1]        base64 = base64.decode()        ret = urllib.parse.quote(base64, safe='')        return ret
相關文章
相關標籤/搜索