summaryrefslogtreecommitdiffstats
path: root/Lib/hmac.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/hmac.py')
-rw-r--r--Lib/hmac.py10
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