Если MD5 повреждается, что такое лучшее решение?

После чтения темы "MD5 действительно это плохо", я думал о лучшем решении для генерации хешей. Есть ли лучшие решения как Adler, CRC32 или SHA1? Или они повреждаются также?

8
задан Community 23 May 2017 в 12:26
поделиться

3 ответа

CRC32 - это, вероятно, худшее, что можно использовать для паролей (кроме, может быть, crc16 :). Циклические проверки избыточности служат для обнаружения того, что сообщение было повреждено в результате естественных причин, и их коллизии можно тривиально генерировать, используя только алгебру. SHA0 и SHA1 также нарушены, хотя в отличие от md5() никто не генерировал коллизию SHA1, но считается, что это вычислительно осуществимо с нашей нынешней технологией.

Следует использовать любой член семейства SHA-2. Sha-256 хорош, SHA-512, вероятно, больше, чем вам нужно. NIST сейчас проводит конкурс на SHA-3, и он будет завершен где-то в 2012 году. (Skein for the win!)

9
ответ дан 5 December 2019 в 11:23
поделиться

SHA1 имеет несколько теоретических атак, но, AFAIK, до сих пор нет ничего практического, что позволило бы вам сломать его.

SHA2 пока остается неизменным.

2
ответ дан 5 December 2019 в 11:23
поделиться

Если вы ищете криптографическую хеш-функцию, Адлер и CRC32 действительно плохая идея . SHA-1 тоже уже взломан, но гораздо менее опасным способом, чем MD5. Однако это, вероятно, изменится в будущем.

На данный момент, кажется, единственный разумный выбор - использовать SHA-256, возможно, усекая дайджест до желаемой длины.

4
ответ дан 5 December 2019 в 11:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: