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


Python py3compat.long方法代码示例

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


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

示例1: __repr__

# 需要导入模块: from paramiko import py3compat [as 别名]
# 或者: from paramiko.py3compat import long [as 别名]
def __repr__(self):
        """
        Returns a string representation of this object, for debugging.
        """
        out = '<paramiko.Transport at %s' % hex(long(id(self)) & xffffffff)
        if not self.active:
            out += ' (unconnected)'
        else:
            if self.local_cipher != '':
                out += ' (cipher %s, %d bits)' % (self.local_cipher,
                                                  self._cipher_info[self.local_cipher]['key-size'] * 8)
            if self.is_authenticated():
                out += ' (active; %d open channel(s))' % len(self._channels)
            elif self.initial_kex_done:
                out += ' (connected; awaiting auth)'
            else:
                out += ' (connecting)'
        out += '>'
        return out 
开发者ID:summerwinter,项目名称:SublimeRemoteGDB,代码行数:21,代码来源:transport.py

示例2: send_ignore

# 需要导入模块: from paramiko import py3compat [as 别名]
# 或者: from paramiko.py3compat import long [as 别名]
def send_ignore(self, byte_count=None):
        """
        Send a junk packet across the encrypted link.  This is sometimes used
        to add "noise" to a connection to confuse would-be attackers.  It can
        also be used as a keep-alive for long lived connections traversing
        firewalls.

        :param int byte_count:
            the number of random bytes to send in the payload of the ignored
            packet -- defaults to a random number from 10 to 41.
        """
        m = Message()
        m.add_byte(cMSG_IGNORE)
        if byte_count is None:
            byte_count = (byte_ord(os.urandom(1)) % 32) + 10
        m.add_bytes(os.urandom(byte_count))
        self._send_user_message(m) 
开发者ID:summerwinter,项目名称:SublimeRemoteGDB,代码行数:19,代码来源:transport.py

示例3: inflate_long

# 需要导入模块: from paramiko import py3compat [as 别名]
# 或者: from paramiko.py3compat import long [as 别名]
def inflate_long(s, always_positive=False):
    """turns a normalized byte string into a long-int (adapted from Crypto.Util.number)"""
    out = long(0)
    negative = 0
    if not always_positive and (len(s) > 0) and (byte_ord(s[0]) >= 0x80):
        negative = 1
    if len(s) % 4:
        filler = zero_byte
        if negative:
            filler = max_byte
        # never convert this to ``s +=`` because this is a string, not a number
        # noinspection PyAugmentAssignment
        s = filler * (4 - len(s) % 4) + s
    for i in range(0, len(s), 4):
        out = (out << 32) + struct.unpack('>I', s[i:i+4])[0]
    if negative:
        out -= (long(1) << (8 * len(s)))
    return out 
开发者ID:summerwinter,项目名称:SublimeRemoteGDB,代码行数:20,代码来源:util.py

示例4: _async_request

# 需要导入模块: from paramiko import py3compat [as 别名]
# 或者: from paramiko.py3compat import long [as 别名]
def _async_request(self, fileobj, t, *arg):
        # this method may be called from other threads (prefetch)
        self._lock.acquire()
        try:
            msg = Message()
            msg.add_int(self.request_number)
            for item in arg:
                if isinstance(item, long):
                    msg.add_int64(item)
                elif isinstance(item, int):
                    msg.add_int(item)
                elif isinstance(item, (string_types, bytes_types)):
                    msg.add_string(item)
                elif isinstance(item, SFTPAttributes):
                    item._pack(msg)
                else:
                    raise Exception('unknown type for %r type %r' % (item, type(item)))
            num = self.request_number
            self._expecting[num] = fileobj
            self._send_packet(t, msg)
            self.request_number += 1
        finally:
            self._lock.release()
        return num 
开发者ID:summerwinter,项目名称:SublimeRemoteGDB,代码行数:26,代码来源:sftp_client.py

示例5: sign_ssh_data

# 需要导入模块: from paramiko import py3compat [as 别名]
# 或者: from paramiko.py3compat import long [as 别名]
def sign_ssh_data(self, data):
        digest = sha1(data).digest()
        dss = DSA.construct((long(self.y), long(self.g), long(self.p), long(self.q), long(self.x)))
        # generate a suitable k
        qsize = len(util.deflate_long(self.q, 0))
        while True:
            k = util.inflate_long(os.urandom(qsize), 1)
            if (k > 2) and (k < self.q):
                break
        r, s = dss.sign(util.inflate_long(digest, 1), k)
        m = Message()
        m.add_string('ssh-dss')
        # apparently, in rare cases, r or s may be shorter than 20 bytes!
        rstr = util.deflate_long(r, 0)
        sstr = util.deflate_long(s, 0)
        if len(rstr) < 20:
            rstr = zero_byte * (20 - len(rstr)) + rstr
        if len(sstr) < 20:
            sstr = zero_byte * (20 - len(sstr)) + sstr
        m.add_string(rstr + sstr)
        return m 
开发者ID:summerwinter,项目名称:SublimeRemoteGDB,代码行数:23,代码来源:dsskey.py

示例6: _parse_kexecdh_reply

# 需要导入模块: from paramiko import py3compat [as 别名]
# 或者: from paramiko.py3compat import long [as 别名]
def _parse_kexecdh_reply(self, m):
        K_S = m.get_string()
        Q_S_bytes = m.get_string()
        self.Q_S = ec.EllipticCurvePublicNumbers.from_encoded_point(
            self.curve, Q_S_bytes
        )
        sig = m.get_binary()
        K = self.P.exchange(ec.ECDH(), self.Q_S.public_key(default_backend()))
        K = long(hexlify(K), 16)
        # compute exchange hash and verify signature
        hm = Message()
        hm.add(self.transport.local_version, self.transport.remote_version,
               self.transport.local_kex_init, self.transport.remote_kex_init)
        hm.add_string(K_S)
        # SEC1: V2.0  2.3.3 Elliptic-Curve-Point-to-Octet-String Conversion
        hm.add_string(self.Q_C.public_numbers().encode_point())
        hm.add_string(Q_S_bytes)
        hm.add_mpint(K)
        self.transport._set_K_H(K, self.hash_algo(hm.asbytes()).digest())
        self.transport._verify_key(K_S, sig)
        self.transport._activate_outbound() 
开发者ID:ohmyadd,项目名称:wetland,代码行数:23,代码来源:kex_ecdh_nist.py

示例7: _response

# 需要导入模块: from paramiko import py3compat [as 别名]
# 或者: from paramiko.py3compat import long [as 别名]
def _response(self, request_number, t, *arg):
        msg = Message()
        msg.add_int(request_number)
        for item in arg:
            if isinstance(item, long):
                msg.add_int64(item)
            elif isinstance(item, int):
                msg.add_int(item)
            elif isinstance(item, (string_types, bytes_types)):
                msg.add_string(item)
            elif type(item) is SFTPAttributes:
                item._pack(msg)
            else:
                raise Exception(
                    'unknown type for {0!r} type {1!r}'.format(
                        item, type(item)))
        self._send_packet(t, msg) 
开发者ID:ohmyadd,项目名称:wetland,代码行数:19,代码来源:sftp_server.py

示例8: __repr__

# 需要导入模块: from paramiko import py3compat [as 别名]
# 或者: from paramiko.py3compat import long [as 别名]
def __repr__(self):
        """
        Returns a string representation of this object, for debugging.
        """
        out = '<paramiko.Transport at %s' % hex(long(id(self)) & xffffffff)
        if not self.active:
            out += ' (unconnected)'
        else:
            if self.local_cipher != '':
                out += ' (cipher %s, %d bits)' % (
                    self.local_cipher,
                    self._cipher_info[self.local_cipher]['key-size'] * 8
                )
            if self.is_authenticated():
                out += ' (active; %d open channel(s))' % len(self._channels)
            elif self.initial_kex_done:
                out += ' (connected; awaiting auth)'
            else:
                out += ' (connecting)'
        out += '>'
        return out 
开发者ID:ohmyadd,项目名称:wetland,代码行数:23,代码来源:transport.py

示例9: inflate_long

# 需要导入模块: from paramiko import py3compat [as 别名]
# 或者: from paramiko.py3compat import long [as 别名]
def inflate_long(s, always_positive=False):
    """turns a normalized byte string into a long-int
    (adapted from Crypto.Util.number)"""
    out = long(0)
    negative = 0
    if not always_positive and (len(s) > 0) and (byte_ord(s[0]) >= 0x80):
        negative = 1
    if len(s) % 4:
        filler = zero_byte
        if negative:
            filler = max_byte
        # never convert this to ``s +=`` because this is a string, not a number
        # noinspection PyAugmentAssignment
        s = filler * (4 - len(s) % 4) + s
    for i in range(0, len(s), 4):
        out = (out << 32) + struct.unpack('>I', s[i:i + 4])[0]
    if negative:
        out -= (long(1) << (8 * len(s)))
    return out 
开发者ID:ohmyadd,项目名称:wetland,代码行数:21,代码来源:util.py

示例10: _async_request

# 需要导入模块: from paramiko import py3compat [as 别名]
# 或者: from paramiko.py3compat import long [as 别名]
def _async_request(self, fileobj, t, *arg):
        # this method may be called from other threads (prefetch)
        self._lock.acquire()
        try:
            msg = Message()
            msg.add_int(self.request_number)
            for item in arg:
                if isinstance(item, long):
                    msg.add_int64(item)
                elif isinstance(item, int):
                    msg.add_int(item)
                elif isinstance(item, SFTPAttributes):
                    item._pack(msg)
                else:
                    # For all other types, rely on as_string() to either coerce
                    # to bytes before writing or raise a suitable exception.
                    msg.add_string(item)
            num = self.request_number
            self._expecting[num] = fileobj
            self.request_number += 1
        finally:
            self._lock.release()
        self._send_packet(t, msg)
        return num 
开发者ID:ohmyadd,项目名称:wetland,代码行数:26,代码来源:sftp_client.py

示例11: _async_request

# 需要导入模块: from paramiko import py3compat [as 别名]
# 或者: from paramiko.py3compat import long [as 别名]
def _async_request(self, fileobj, t, *arg):
        # this method may be called from other threads (prefetch)
        self._lock.acquire()
        try:
            msg = Message()
            msg.add_int(self.request_number)
            for item in arg:
                if isinstance(item, long):
                    msg.add_int64(item)
                elif isinstance(item, int):
                    msg.add_int(item)
                elif isinstance(item, (string_types, bytes_types)):
                    msg.add_string(item)
                elif isinstance(item, SFTPAttributes):
                    item._pack(msg)
                else:
                    raise Exception('unknown type for %r type %r' % (item, type(item)))
            num = self.request_number
            self._expecting[num] = fileobj
            self.request_number += 1
        finally:
            self._lock.release()
        self._send_packet(t, msg)
        return num 
开发者ID:collinsctk,项目名称:PyQYT,代码行数:26,代码来源:sftp_client.py

示例12: encode

# 需要导入模块: from paramiko import py3compat [as 别名]
# 或者: from paramiko.py3compat import long [as 别名]
def encode(self, x):
        if type(x) is bool:
            if x:
                self.encode_tlv(1, max_byte)
            else:
                self.encode_tlv(1, zero_byte)
        elif (type(x) is int) or (type(x) is long):
            self.encode_tlv(2, util.deflate_long(x))
        elif type(x) is str:
            self.encode_tlv(4, x)
        elif (type(x) is list) or (type(x) is tuple):
            self.encode_tlv(0x30, self.encode_sequence(x))
        else:
            raise BERException('Unknown type for encoding: %s' % repr(type(x))) 
开发者ID:summerwinter,项目名称:SublimeRemoteGDB,代码行数:16,代码来源:ber.py

示例13: _read

# 需要导入模块: from paramiko import py3compat [as 别名]
# 或者: from paramiko.py3compat import long [as 别名]
def _read(self, size):
        size = min(size, self.MAX_REQUEST_SIZE)
        if self._prefetching:
            data = self._read_prefetch(size)
            if data is not None:
                return data
        t, msg = self.sftp._request(CMD_READ, self.handle, long(self._realpos), int(size))
        if t != CMD_DATA:
            raise SFTPError('Expected data')
        return msg.get_string() 
开发者ID:summerwinter,项目名称:SublimeRemoteGDB,代码行数:12,代码来源:sftp_file.py

示例14: _write

# 需要导入模块: from paramiko import py3compat [as 别名]
# 或者: from paramiko.py3compat import long [as 别名]
def _write(self, data):
        # may write less than requested if it would exceed max packet size
        chunk = min(len(data), self.MAX_REQUEST_SIZE)
        self._reqs.append(self.sftp._async_request(type(None), CMD_WRITE, self.handle, long(self._realpos), data[:chunk]))
        if not self.pipelined or (len(self._reqs) > 100 and self.sftp.sock.recv_ready()):
            while len(self._reqs):
                req = self._reqs.popleft()
                t, msg = self.sftp._read_response(req)
                if t != CMD_STATUS:
                    raise SFTPError('Expected status')
                # convert_status already called
        return chunk 
开发者ID:summerwinter,项目名称:SublimeRemoteGDB,代码行数:14,代码来源:sftp_file.py

示例15: truncate

# 需要导入模块: from paramiko import py3compat [as 别名]
# 或者: from paramiko.py3compat import long [as 别名]
def truncate(self, size):
        """
        Change the size of this file.  This usually extends
        or shrinks the size of the file, just like the ``truncate()`` method on
        Python file objects.
        
        :param size: the new size of the file
        :type size: int or long
        """
        self.sftp._log(DEBUG, 'truncate(%s, %r)' % (hexlify(self.handle), size))
        attr = SFTPAttributes()
        attr.st_size = size
        self.sftp._request(CMD_FSETSTAT, self.handle, attr) 
开发者ID:summerwinter,项目名称:SublimeRemoteGDB,代码行数:15,代码来源:sftp_file.py


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