В общем, выпускал
универсальную раскладку — не бог весть какой софт, но я всё-таки разраб. Не хотелось бы, чтобы всякие хитрожопые внедряли в исполняемые файлы вирусы или трояны, а потом на трекерах выкладывали, поэтому раздаю в iso-образе и закрытом rar самостоятельно. Задумался о том, как защитить от изменений, точнее как обнаружить изменения быстро и просто. Это значит, что хранить рядом md5 и sha1 - скучно, и проверять долго (но может есть быстрые способы), да ещё и к md5 коллизии подбираются. В общем, пришёл к такому „выходу” - хранить в сведении о релизе и в имени файла информацию, позволяющую идентифицировать. Основываться всё будет на лаконичном, но ненадёжном CRC32, Дополненным md5 & sha-1 - по два символа от первого и второго, и на конце полностью crc32 (чтобы если имя файла обрезалось, влезло всё, хотя бы частично).
В итоге мы можем гуглить не только полную версию сборки программы - 2.7.37.2e.8FAC8664, а даже просто crc32.
Хотел бы узнать, насколько сложно модифицировать файл и подобрать коллизию, чтобы имя файла оставалось неизменным?