Exemplo n.º 1
0
 def digest(self):
     if self._digest is None:
         h1 = self.h.digest()
         del self.h
         h2 = SHA256(h1).digest()
         if self.truncate_to:
             h2 = h2[:self.truncate_to]
         self._digest = h2
     return self._digest
Exemplo n.º 2
0
 def __init__(self, truncate_to=None):
     self.h = SHA256()
     self.truncate_to = truncate_to
     self._digest = None
Exemplo n.º 3
0
def hmac(tag, data):
    ikey = _xor(tag, "\x36")
    okey = _xor(tag, "\x5c")
    h1 = SHA256(ikey + data).digest()
    h2 = SHA256(okey + h1).digest()
    return h2