hash.py 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. # Copyright (C) 2011 Nominum, Inc.
  2. #
  3. # Permission to use, copy, modify, and distribute this software and its
  4. # documentation for any purpose with or without fee is hereby granted,
  5. # provided that the above copyright notice and this permission notice
  6. # appear in all copies.
  7. #
  8. # THE SOFTWARE IS PROVIDED "AS IS" AND NOMINUM DISCLAIMS ALL WARRANTIES
  9. # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  10. # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR
  11. # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  12. # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  13. # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
  14. # OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  15. """Hashing backwards compatibility wrapper"""
  16. import hashlib
  17. hashes = {}
  18. hashes['MD5'] = hashlib.md5
  19. hashes['SHA1'] = hashlib.sha1
  20. hashes['SHA224'] = hashlib.sha224
  21. hashes['SHA256'] = hashlib.sha256
  22. hashes['SHA384'] = hashlib.sha384
  23. hashes['SHA512'] = hashlib.sha512
  24. def get(algorithm):
  25. return hashes[algorithm.upper()]