в контрольной сумме не стоит задача обеспечить криптостойкость функции, поэтому они быстрее, код меньше и результат ф-и меньше. Crc32 вон реверсят все кому не лень... А попробуй то же самое с SHA-512 сделать
Надежность зависит от реализации, причем некоторые вообще не обращают на это внимание, как правило все эти проверки отрубаются моментом, и даже бывает так что ничего измнять в екзешнике не надо. Другое дело зашифрованный код с хорошим протектором. P.S. inline патчинг работает в 80% случаев, в остальных требуется небольшая доработка, а вот с шифрованным кодом посложнее.
вопрос более абстрактный, непривязанный к реализациям вообще спасибо за это.. Кроме этого похоже, что чексумма направленна больше на проверку целостности а хэш на получение уникального идентификатора. Других различий пока не заметил.
Ага, но некоторые используют с десяток контрольных сумм в перемешку с хэшами чтобы проверить целостность кода (!).
im1111 Потому что контрольные суммы не рассчитаны на преднамеренное изменение данных, они предназначены для контроля от "естесственных" искажений.
rain Абстрактно -- с математической точки зрения -- между ними нет разницы. И то, и другое являются сюръективными (но не инъективными) отображениями. Т.е. контрольная сумма -- это просто название результата определённой хэш-функции (функции, отображающей некоторое (обычно бесконечное) множество в другое конечное множество меньшей мощности). Криптостойкость хэш-функции обратно пропорциональна вычислительной сложности обращения этой функции (т.е. поиска её аргумента при известном значении). Вот от чего можно оттолкнуться на wikipedia: Cryptographic hash Checksum Cyclic redundancy check