hashcompat.py 548 B

123456789101112131415161718192021
  1. """
  2. The md5 and sha modules are deprecated since Python 2.5, replaced by the
  3. hashlib module containing both hash algorithms. Here, we provide a common
  4. interface to the md5 and sha constructors, preferring the hashlib module when
  5. available.
  6. """
  7. try:
  8. import hashlib
  9. md5_constructor = hashlib.md5
  10. md5_hmac = md5_constructor
  11. sha_constructor = hashlib.sha1
  12. sha_hmac = sha_constructor
  13. except ImportError:
  14. import md5
  15. md5_constructor = md5.new
  16. md5_hmac = md5
  17. import sha
  18. sha_constructor = sha.new
  19. sha_hmac = sha