diff options
author | David Beazley <dave@dabeaz.com> | 2017-01-31 12:18:55 -0600 |
---|---|---|
committer | David Beazley <dave@dabeaz.com> | 2017-01-31 12:18:55 -0600 |
commit | 3335be2931e42803ddc64ce2df61f7b0aad1f30c (patch) | |
tree | c103a5751ac9bf5f836f2d91f3edb0f0f5b1182f | |
parent | 69de7b84c8bfb2bf33853b00409af93008362dda (diff) | |
download | ply-3335be2931e42803ddc64ce2df61f7b0aad1f30c.tar.gz |
Reworked signature code to not use digests or hashes.
-rw-r--r-- | ply/yacc.py | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/ply/yacc.py b/ply/yacc.py index 62ebc88..2c525ba 100644 --- a/ply/yacc.py +++ b/ply/yacc.py @@ -2968,28 +2968,20 @@ class ParserReflect(object): # Compute a signature over the grammar def signature(self): + parts = [] try: - from hashlib import md5 - except ImportError: - from md5 import md5 - try: - sig = md5() if self.start: - sig.update(self.start.encode('latin-1')) + parts.append(self.start) if self.prec: - sig.update(''.join([''.join(p) for p in self.prec]).encode('latin-1')) + parts.append(''.join([''.join(p) for p in self.prec])) if self.tokens: - sig.update(' '.join(self.tokens).encode('latin-1')) + parts.append(' '.join(self.tokens)) for f in self.pfuncs: if f[3]: - sig.update(f[3].encode('latin-1')) + parts.append(f[3]) except (TypeError, ValueError): pass - - digest = base64.b16encode(sig.digest()) - if sys.version_info[0] >= 3: - digest = digest.decode('latin-1') - return digest + return ''.join(parts) # ----------------------------------------------------------------------------- # validate_modules() |