There is a program which derives data from xml. So the task is to bind the program to a specific xml, so that the program does not start if the xml was edited or replaced with another.

  • 2
    Compare the convolution (say MD5) with the one stored in the program code. - alexlz
  • 2
    Clarify the question. What do you store in XML? Settings? Keys? What do you mean by editing this XML: any changes to the data in it or a change in its structure? In the first case, you can verify the XML hash with the "correct" XML hash, in the second you need XML validation according to the scheme. - fori1ton
  • And what prevents to keep a copy in the program and compare? :-) Moreover, if you do not want to allow the user to change the file, just do not give him the file, business! - VladD
  • It is necessary to protect against any changes in the data in xml. It is necessary to clean not from the user, but from the hacker. If I keep a hash in the program, then there is a high probability that it will be found and modified, even after obfuscation. - Murad
  • 2
    From a hacker? Forget it. Everything that is on the user's machine is under his full control. He will disassemble your program and throw out a check nafig. You are powerless. Unless put the program in the Internet as a web service. - VladD

0