当前位置: 首页>>代码示例>>Python>>正文


Python _compat.byte方法代码示例

本文整理汇总了Python中rsa._compat.byte方法的典型用法代码示例。如果您正苦于以下问题:Python _compat.byte方法的具体用法?Python _compat.byte怎么用?Python _compat.byte使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在rsa._compat的用法示例。


在下文中一共展示了_compat.byte方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: read_random_bits

# 需要导入模块: from rsa import _compat [as 别名]
# 或者: from rsa._compat import byte [as 别名]
def read_random_bits(nbits):
    """Reads 'nbits' random bits.

    If nbits isn't a whole number of bytes, an extra byte will be appended with
    only the lower bits set.
    """

    nbytes, rbits = divmod(nbits, 8)

    # Get the random bytes
    randomdata = os.urandom(nbytes)

    # Add the remaining random bits
    if rbits > 0:
        randomvalue = ord(os.urandom(1))
        randomvalue >>= (8 - rbits)
        randomdata = byte(randomvalue) + randomdata

    return randomdata 
开发者ID:Deltares,项目名称:aqua-monitor,代码行数:21,代码来源:randnum.py

示例2: bytes_leading

# 需要导入模块: from rsa import _compat [as 别名]
# 或者: from rsa._compat import byte [as 别名]
def bytes_leading(raw_bytes, needle=ZERO_BYTE):
    """
    Finds the number of prefixed byte occurrences in the haystack.

    Useful when you want to deal with padding.

    :param raw_bytes:
        Raw bytes.
    :param needle:
        The byte to count. Default \000.
    :returns:
        The number of leading needle bytes.
    """

    leading = 0
    # Indexing keeps compatibility between Python 2.x and Python 3.x
    _byte = needle[0]
    for x in raw_bytes:
        if x == _byte:
            leading += 1
        else:
            break
    return leading 
开发者ID:Deltares,项目名称:aqua-monitor,代码行数:25,代码来源:transform.py

示例3: to64

# 需要导入模块: from rsa import _compat [as 别名]
# 或者: from rsa._compat import byte [as 别名]
def to64(number):
    """Converts a number in the range of 0 to 63 into base 64 digit
    character in the range of '0'-'9', 'A'-'Z', 'a'-'z','-','_'.
    """

    if not (type(number) is types.LongType or type(number) is types.IntType):
        raise TypeError("You must pass a long or an int")

    if 0 <= number <= 9:            #00-09 translates to '0' - '9'
        return byte(number + 48)

    if 10 <= number <= 35:
        return byte(number + 55)     #10-35 translates to 'A' - 'Z'

    if 36 <= number <= 61:
        return byte(number + 61)     #36-61 translates to 'a' - 'z'

    if number == 62:                # 62   translates to '-' (minus)
        return byte(45)

    if number == 63:                # 63   translates to '_' (underscore)
        return byte(95)

    raise ValueError('Invalid Base64 value: %i' % number) 
开发者ID:Deltares,项目名称:aqua-monitor,代码行数:26,代码来源:_version200.py

示例4: read_random_bits

# 需要导入模块: from rsa import _compat [as 别名]
# 或者: from rsa._compat import byte [as 别名]
def read_random_bits(nbits):
    '''Reads 'nbits' random bits.

    If nbits isn't a whole number of bytes, an extra byte will be appended with
    only the lower bits set.
    '''

    nbytes, rbits = divmod(nbits, 8)

    # Get the random bytes
    randomdata = os.urandom(nbytes)

    # Add the remaining random bits
    if rbits > 0:
        randomvalue = ord(os.urandom(1))
        randomvalue >>= (8 - rbits)
        randomdata = byte(randomvalue) + randomdata

    return randomdata 
开发者ID:deadblue,项目名称:baidupan_shell,代码行数:21,代码来源:randnum.py

示例5: bytes_leading

# 需要导入模块: from rsa import _compat [as 别名]
# 或者: from rsa._compat import byte [as 别名]
def bytes_leading(raw_bytes, needle=ZERO_BYTE):
    '''
    Finds the number of prefixed byte occurrences in the haystack.

    Useful when you want to deal with padding.

    :param raw_bytes:
        Raw bytes.
    :param needle:
        The byte to count. Default \000.
    :returns:
        The number of leading needle bytes.
    '''
    leading = 0
    # Indexing keeps compatibility between Python 2.x and Python 3.x
    _byte = needle[0]
    for x in raw_bytes:
        if x == _byte:
            leading += 1
        else:
            break
    return leading 
开发者ID:deadblue,项目名称:baidupan_shell,代码行数:24,代码来源:transform.py

示例6: bytes2int

# 需要导入模块: from rsa import _compat [as 别名]
# 或者: from rsa._compat import byte [as 别名]
def bytes2int(bytes):
    """Converts a list of bytes or a string to an integer

    >>> (128*256 + 64)*256 + + 15
    8405007
    >>> l = [128, 64, 15]
    >>> bytes2int(l)
    8405007
    """

    if not (type(bytes) is types.ListType or type(bytes) is types.StringType):
        raise TypeError("You must pass a string or a list")

    # Convert byte stream to integer
    integer = 0
    for byte in bytes:
        integer *= 256
        if type(byte) is types.StringType: byte = ord(byte)
        integer += byte

    return integer 
开发者ID:deadblue,项目名称:baidupan_shell,代码行数:23,代码来源:_version133.py

示例7: int2bytes

# 需要导入模块: from rsa import _compat [as 别名]
# 或者: from rsa._compat import byte [as 别名]
def int2bytes(number):
    """Converts a number to a string of bytes
    
    >>> bytes2int(int2bytes(123456789))
    123456789
    """

    if not (type(number) is types.LongType or type(number) is types.IntType):
        raise TypeError("You must pass a long or an int")

    string = ""

    while number > 0:
        string = "%s%s" % (byte(number & 0xFF), string)
        number /= 256
    
    return string 
开发者ID:deadblue,项目名称:baidupan_shell,代码行数:19,代码来源:_version133.py

示例8: encrypt_bigfile

# 需要导入模块: from rsa import _compat [as 别名]
# 或者: from rsa._compat import byte [as 别名]
def encrypt_bigfile(infile, outfile, pub_key):
    '''Encrypts a file, writing it to 'outfile' in VARBLOCK format.
    
    :param infile: file-like object to read the cleartext from
    :param outfile: file-like object to write the crypto in VARBLOCK format to
    :param pub_key: :py:class:`rsa.PublicKey` to encrypt with

    '''

    if not isinstance(pub_key, key.PublicKey):
        raise TypeError('Public key required, but got %r' % pub_key)

    key_bytes = common.bit_size(pub_key.n) // 8
    blocksize = key_bytes - 11 # keep space for PKCS#1 padding

    # Write the version number to the VARBLOCK file
    outfile.write(byte(varblock.VARBLOCK_VERSION))

    # Encrypt and write each block
    for block in varblock.yield_fixedblocks(infile, blocksize):
        crypto = pkcs1.encrypt(block, pub_key)

        varblock.write_varint(outfile, len(crypto))
        outfile.write(crypto) 
开发者ID:deadblue,项目名称:baidupan_shell,代码行数:26,代码来源:bigfile.py

示例9: bytes2int

# 需要导入模块: from rsa import _compat [as 别名]
# 或者: from rsa._compat import byte [as 别名]
def bytes2int(bytes):
    """Converts a list of bytes or a string to an integer

    >>> (((128 * 256) + 64) * 256) + 15
    8405007
    >>> l = [128, 64, 15]
    >>> bytes2int(l)              #same as bytes2int('\x80@\x0f')
    8405007
    """

    if not (type(bytes) is types.ListType or type(bytes) is types.StringType):
        raise TypeError("You must pass a string or a list")

    # Convert byte stream to integer
    integer = 0
    for byte in bytes:
        integer *= 256
        if type(byte) is types.StringType: byte = ord(byte)
        integer += byte

    return integer 
开发者ID:deadblue,项目名称:baidupan_shell,代码行数:23,代码来源:_version200.py

示例10: str642int

# 需要导入模块: from rsa import _compat [as 别名]
# 或者: from rsa._compat import byte [as 别名]
def str642int(string):
    """Converts a base64 encoded string into an integer.
    The chars of this string in in the range '0'-'9','A'-'Z','a'-'z','-','_'
    
    >>> str642int('7MyqL')
    123456789
    """

    if not (type(string) is types.ListType or type(string) is types.StringType):
        raise TypeError("You must pass a string or a list")

    integer = 0
    for byte in string:
        integer *= 64
        if type(byte) is types.StringType: byte = ord(byte)
        integer += from64(byte)

    return integer 
开发者ID:deadblue,项目名称:baidupan_shell,代码行数:20,代码来源:_version200.py


注:本文中的rsa._compat.byte方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。