Каковы предпочтительные криптографические функции хеширования в Python (предпочтительно, предоставляемые в hashlib)?

Я думал, что это будет покрыто https://docs.python.org/2/library/hashlib.html или вопросом о Stackru, но я не нашел, что это покрыто.

Каковы достаточно надежные криптографически надежные способы создания хеш-кода для много байтов в Python, желательно доступного в hashlib? В документах упоминаются известные слабые места столкновений, но не говорится, какие из них сейчас взломаны, а какие не имеют публично известных подвигов.

Я специально не ищу только самую сильную криптографию, которую я могу разумно приобрести, но какие варианты hashlib идут с hashlib, которые являются предпочтительными среди доступных вариантов.

1 ответ

Ваша ссылка утверждает, что MD5, SHA1 и несколько вариантов SHA2
(SHA224, 256, 384, 512) гарантированно поддерживаются.
(в нем также говорится, что нужно искать слабые стороны в разделе "Смотрите также")

Из них текущее состояние:
MD5 это плохо.
SHA1: по возможности избегайте этого.
SHA2: ОК, но не выбирайте 224 (или, лучше, используйте только 512)

(Это не проблема Фитона).

Другие вопросы по тегам