New answers tagged encryption
I would use a standard encryption algorithm (because it makes it harder to perform crypto-analysis on the saved file) but not one of the top five most used, and hide it throughout your code (because it makes it harder to understand what algorithm it is and where is the key.) To hide the encryption algorithm into your code: take an open source version, ...
Store a transformed SHA256 hash of the actual save data in the save file. Compare the stored hash to the SHA256 value of the data as you load it. If that doesn't match, they've cheated or corrupted the file. Edit to clarify: this makes it more difficult to crack the anti-cheat system but still possible.
In general you should never invent your own cryptographic algorithms, unless you have at least a PhD in both mathematics and computer science. But there are many good stock algorithms which have no known attacks and have free implementations in many programming languages. For example RC5, AES or Blowfish. Depending on which technology you use to develop your ...
To encrypt and decrypt locally, you will need to store the key in your program, so people will be able to crack the encryption if they disassemble your code. There are tricks to obfuscate keys, but even with those a dedicated attacker will find the key and then post it online for all those who are less dedicated to see. The only thing encryption does prevent ...
Top 50 recent answers are included