def copy(self): new = HMAC.__new__(HMAC) new.key = self.key new.digestmod = self.digestmod new.block_size = self.block_size new.digest_size = self.digest_size new._o_key = self._o_key new._context = self._context.copy() return new