'Return a separate copy of this hashing object.
An update to this copy won\'t affect the original object.'

def copy(self):

    other = self.__class__(_secret_backdoor_key)
    other.digest_cons = self.digest_cons
    other.digest_size = self.digest_size
    other.inner = self.inner.copy()
    other.outer = self.outer.copy()
    return other
