У меня есть потребность обеспечить 32-разрядный CRC (Контроль циклическим избыточным кодом) всех блоков, который хранится (в целях управления выпуском) и может затем быть сравнен с подарком блоков в системе позднее (чтобы проверить, что выпуск не был поврежден в некотором роде).
У меня нет проблемы при вычислении CRC самих блоков, мой вопрос - это:
Блоки.NET когда-либо изменяются? Т.е. фактический двоичный контент блока когда-нибудь изменяются (по какой-либо причине) после того, как это будет установлено в целевой системе? Если бы это делает, то CRC изменился бы также.
Отметьте, я обращаюсь только к блокам, которые упаковываются с моим программным обеспечением, не стандартными Системными блоками, они не проверяются.
Удачи
Вы повторно изобретете колесо, прочное наименование уже делает это. Подделать сборку так, чтобы он был правильным CRC32 довольно прост. Разрыв сильного имени нет, это криптографически безопасно.
Если вы не обновляете сборки (перезаписать их), они никогда не изменится.
Я вспоминаю чтение где-то, что оптимизатор .NET Optimizer идет и проходит через любые сборки для «оптимизации» их? Слышал, что это сделал после установки - никогда не смотрел в это сам, хотя - ID представь, что они, вероятно, не меняются, но я не уверен, что это то, что вы можете действительно гарантировать
. Удачи
Они должны меняться только при установке или обновлении, если только программист не включил какой-то неприятный удар в его программу. Но если вы сомневаетесь, почему вы не просто отзываете права пользователя на написание или изменение файлов по сообщениям?