diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2021-07-13 16:57:06 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2021-07-13 16:57:06 -0400 |
commit | 367f7c45c857be06cd970ac5594ad92d3e34199e (patch) | |
tree | 2bd4d6d6c1773daccba34197aa664c086926cf63 /coverage/misc.py | |
parent | caf7639d9a74d8adda15ad08fa1201c47efba86b (diff) | |
download | python-coveragepy-git-367f7c45c857be06cd970ac5594ad92d3e34199e.tar.gz |
fix: use a modern hash when fingerprinting. #1189
Diffstat (limited to 'coverage/misc.py')
-rw-r--r-- | coverage/misc.py | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/coverage/misc.py b/coverage/misc.py index db2c3b75..108cf078 100644 --- a/coverage/misc.py +++ b/coverage/misc.py @@ -198,21 +198,21 @@ def filename_suffix(suffix): class Hasher: - """Hashes Python data into md5.""" + """Hashes Python data for fingerprinting.""" def __init__(self): - self.md5 = hashlib.md5() + self.hash = hashlib.new("sha3_256") def update(self, v): """Add `v` to the hash, recursively if needed.""" - self.md5.update(str(type(v)).encode("utf8")) + self.hash.update(str(type(v)).encode("utf8")) if isinstance(v, str): - self.md5.update(v.encode('utf8')) + self.hash.update(v.encode('utf8')) elif isinstance(v, bytes): - self.md5.update(v) + self.hash.update(v) elif v is None: pass elif isinstance(v, (int, float)): - self.md5.update(str(v).encode("utf8")) + self.hash.update(str(v).encode("utf8")) elif isinstance(v, (tuple, list)): for e in v: self.update(e) @@ -230,11 +230,11 @@ class Hasher: continue self.update(k) self.update(a) - self.md5.update(b'.') + self.hash.update(b'.') def hexdigest(self): """Retrieve the hex digest of the hash.""" - return self.md5.hexdigest() + return self.hash.hexdigest() def _needs_to_implement(that, func_name): |