Каковы предпочтительные криптографические функции хеширования в 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)
(Это не проблема Фитона).