Пример #1
0
 def _MAC(self, seq, msg, key):
     """
     """
     mac = hmac.HMAC(key=key, digestmod=hashlib.md5)
     seqnum = num_to_bytes(seq)
     mac.update(seqnum)
     mac.update(msg)
     return mac.digest()[:10] + b'\x00\x01' + seqnum
Пример #2
0
 def _MAC(self, seq, msg, key):
     """
     """
     mac = hmac.HMAC(key=key, digestmod=hashlib.md5)
     seqnum = num_to_bytes(seq)
     mac.update(seqnum)
     mac.update(msg)
     return mac.digest()[:10] + b'\x00\x01' + seqnum
Пример #3
0
    def wrap(self, outgoing):
        result = b''
        # Leave buffer space for the MAC
        mbuf = self.max_buffer - 10 - 2 - 4

        while outgoing:
            msg = outgoing[:mbuf]
            mac = self._MAC(self._enc_seq, msg, self._enc_key)
            self._enc_seq += 1
            msg += mac
            result += num_to_bytes(len(msg)) + msg
            outgoing = outgoing[mbuf:]

        return result
Пример #4
0
    def wrap(self, outgoing):
        result = b''
        # Leave buffer space for the MAC
        mbuf = self.max_buffer - 10 - 2 - 4

        while outgoing:
            msg = outgoing[:mbuf]
            mac = self._MAC(self._enc_seq, msg, self._enc_key)
            self._enc_seq += 1
            msg += mac
            result += num_to_bytes(len(msg)) + msg
            outgoing = outgoing[mbuf:]

        return result