コード例 #1
0
def crc32(data):
    """计算输入流的crc32检验码:
    Args:
        data: 待计算校验码的字符流
    Returns:
        输入流的crc32校验码。
    """
    return binascii.crc32(b(data)) & 0xffffffff
コード例 #2
0
def urlsafe_base64_encode(data):
    """urlsafe的base64编码:
    对提供的数据进行urlsafe的base64编码。规格参考:
    https://developer.qiniu.com/kodo/manual/1231/appendix#1
    Args:
        data: 待编码的数据,一般为字符串
    Returns:
        编码后的字符串
    """
    ret = urlsafe_b64encode(b(data))
    return s(ret)
コード例 #3
0
def etag_stream(input_stream):
    """计算输入流的etag:
    etag规格参考 https://developer.qiniu.com/kodo/manual/1231/appendix#3
    Args:
        input_stream: 待计算etag的二进制流
    Returns:
        输入流的etag值
    """
    array = [_sha1(block) for block in _file_iter(input_stream, _BLOCK_SIZE)]
    if len(array) == 0:
        array = [_sha1(b'')]
    if len(array) == 1:
        data = array[0]
        prefix = b'\x16'
    else:
        sha1_str = b('').join(array)
        data = _sha1(sha1_str)
        prefix = b'\x96'
    return urlsafe_base64_encode(prefix + data)
コード例 #4
0
ファイル: auth.py プロジェクト: itcastpeng/hzWebSiteApi
 def __token(self, data):
     data = b(data)
     hashed = hmac.new(self.__secret_key, data, sha1)
     return urlsafe_base64_encode(hashed.digest())
コード例 #5
0
ファイル: auth.py プロジェクト: itcastpeng/hzWebSiteApi
 def __init__(self, access_key, secret_key):
     """初始化Auth类"""
     self.__checkKey(access_key, secret_key)
     self.__access_key = access_key
     self.__secret_key = b(secret_key)
コード例 #6
0
ファイル: auth.py プロジェクト: itcastpeng/hzWebSiteApi
 def __init__(self, access_key, secret_key):
     self.qiniu_header_prefix = "X-Qiniu-"
     self.__checkKey(access_key, secret_key)
     self.__access_key = access_key
     self.__secret_key = b(secret_key)