diff options
author | Christian Heimes <christian@cheimes.de> | 2013-07-01 11:08:42 (GMT) |
---|---|---|
committer | Christian Heimes <christian@cheimes.de> | 2013-07-01 11:08:42 (GMT) |
commit | 04926aeb2f88c39a25505e4a0474c6fb735e0f46 (patch) | |
tree | e2f8f58f84ec61dfb533a58320af98409c9b5c57 /Lib/hmac.py | |
parent | ec4bdac8dd8c1a2fb6c211046dd0fca47a9896f2 (diff) | |
download | cpython-04926aeb2f88c39a25505e4a0474c6fb735e0f46.zip cpython-04926aeb2f88c39a25505e4a0474c6fb735e0f46.tar.gz cpython-04926aeb2f88c39a25505e4a0474c6fb735e0f46.tar.bz2 |
Issue 18240: The HMAC module is no longer restricted to bytes and accepts
any bytes-like object, e.g. memoryview. Original patch by Jonas Borgström.
Diffstat (limited to 'Lib/hmac.py')
-rw-r--r-- | Lib/hmac.py | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/Lib/hmac.py b/Lib/hmac.py index 6bd0de5..d13b205 100644 --- a/Lib/hmac.py +++ b/Lib/hmac.py @@ -31,11 +31,11 @@ class HMAC: A hashlib constructor returning a new hash object. Defaults to hashlib.md5. - Note: key and msg must be bytes objects. + Note: key and msg must be a bytes or bytearray objects. """ - if not isinstance(key, bytes): - raise TypeError("key: expected bytes, but got %r" % type(key).__name__) + if not isinstance(key, (bytes, bytearray)): + raise TypeError("key: expected bytes or bytearray, but got %r" % type(key).__name__) if digestmod is None: import hashlib @@ -75,8 +75,6 @@ class HMAC: def update(self, msg): """Update this hashing object with the string msg. """ - if not isinstance(msg, bytes): - raise TypeError("expected bytes, but got %r" % type(msg).__name__) self.inner.update(msg) def copy(self): |