Поскольку ваша цель состоит в том, чтобы хранить привилегии пользователей непосредственно в XML-файле, вам необходим уровень безопасности, за исключением того, что пользователи не могут редактировать файл. Даже если бы вы (гипотетически) наложили какое-то ограничение на уровне операционной системы на редактирование файла, любой администратор мог бы просто отредактировать файл на другом компьютере и перезаписать защищенную версию.
Таким образом, вы должны предположить, что пользователи могут редактировать файл. Единственный регресс, который у вас есть, - это определить, когда они есть, и игнорировать их изменения.
Подход, который вы предлагаете создать сертификат, звучит точно. Вы можете либо вычислить хэш для всего файла, либо сделать это по отдельности (в зависимости от того, что имеет смысл в вашем контексте), в любом случае с использованием частного или секретного ключа, чтобы гарантировать, что кто-то, редактируя файл, не сможет просто пересчитайте хэш.
как шифровать данные? с государственным и закрытым ключом? – 2009-08-12 12:56:42