Я думаю, что есть проблема с попыткой поместить контрольную сумму или хэш непосредственно в ваш исполняемый файл. Такой подход будет означать, что контрольная сумма / хэш будет приниматься во внимание при определении контрольной суммы / хэша вашего исполняемого файла / двоичного файла. Вы не можете закодировать контрольную сумму / хэш, не влияя на результирующую хэш / контрольную сумму двоичного файла / исполняемого файла.
Не зная более подробной информации о вашей ситуации, вы, вероятно, захотите сохранить хэш двоичного файла вне того, что вы пытаетесь вычислить контрольной суммой / хешем (например, внешне на сервере или в файле, расположенном относительно исполняемый файл и т. д.). Вы вычисляете этот хеш после того, как построили свою программу Ваша программа при запуске может затем найти себя на диске и вычислить ее хеш-код и сравнить с хэшем, хранимым извне.
Извините, если это будет лучше в качестве комментария, но у меня нет представителя, чтобы комментировать.