Обнаружение доступных нестандартных алгоритмов хеширования с использованием hashlib в Python - PullRequest
1 голос
/ 14 марта 2012

Согласно документации Python, модуль hashlib гарантированно поддерживает только несколько алгоритмов хеширования (MD5 и SHA ***). Как мне узнать, доступны ли другие алгоритмы? (как RIPEMD-160) Конечно, я мог бы попытаться использовать его, используя пример RIPEMD-160 из документации, но я не уверен, как он будет жаловаться Будет ли это исключение, если да, то какое исключение?

1 Ответ

4 голосов
/ 14 марта 2012

Просто попробуйте в оболочке:

>>> h = hashlib.new('ripemd161')                                                                                                                     
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/hashlib.py", line 124, in __hash_new
    return __get_builtin_constructor(name)(string)
  File "/usr/lib/python2.7/hashlib.py", line 91, in __get_builtin_constructor
    raise ValueError('unsupported hash type %s' % name)
ValueError: unsupported hash type ripemd161
...