diff options
Diffstat (limited to 'Lib/hmac.py')
-rw-r--r-- | Lib/hmac.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/Lib/hmac.py b/Lib/hmac.py index 41d6c6c..fdd5339 100644 --- a/Lib/hmac.py +++ b/Lib/hmac.py @@ -49,7 +49,15 @@ class HMAC: self.inner = self.digest_cons() self.digest_size = self.inner.digest_size - blocksize = 64 + if hasattr(self.inner, 'block_size'): + blocksize = self.inner.block_size + if blocksize < 16: + # Very low blocksize, most likely a legacy value like + # Lib/sha.py and Lib/md5.py have. + blocksize = 64 + else: + blocksize = 64 + ipad = "\x36" * blocksize opad = "\x5C" * blocksize |