Вы можете гарантировать, что никто не изменит ваши данные, зашифровав их или используя хеш-код.В случае текстовых форматов, которые вы упомянули, вы потеряете удобочитаемость, поэтому я думаю, что вы бы предпочли хэш-коды.
Если стандартные методы хеширования могут быть применены в значительной степени, зависит от того, что именно вы считаете "безопасным":вы просто хотите убедиться, что не было аппаратной ошибки при хранении / передаче данных или если вы хотите обнаружить простое изменение того, кто не знает, что он делает, это может быть хорошо - если вы убедились, что используетехорошая функция GetHashCode ().Если вы хотите защитить данные от «злоумышленников», я бы не стал полагаться на 32-битный «самодельный» хеш.(Особенно, если «злоумышленник» может знать код, например, в проектах с открытым исходным кодом).
В таких случаях я бы предпочел более сильные хеш-функции, такие как MD5 (не очень безопасные при столкновении) или лучше SHA-2 .Они работают с байтовыми потоками, которые вы должны хэшировать сами (XML и т. Д.) Или, возможно, сериализованные данные .net (что делает хеш независимым от формата данных вашего файла)..net предоставляет классы для этих алгоритмов, см. например http://msdn.microsoft.com/de-de/library/system.security.cryptography.hmacsha256.aspx