zoukankan      html  css  js  c++  java
  • 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 ] ) : string
    algo
    Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..) See hash_hmac_algos() for a list of supported algorithms.

    data
    Message to be hashed.

    key
    Shared secret key used for generating the HMAC variant of the message digest.

    raw_output
    When 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
  • 相关阅读:
    对白
    泰芒了
    下雨
    聚会
    周末了
    One English Sentence
    Struts拦截器使用
    JAVA语法题
    jquery全选框的实现
    实战3--设计实体, 映射实体
  • 原文地址:https://www.cnblogs.com/rsapaper/p/11680468.html
Copyright © 2011-2022 走看看