   Checksums...
  Hi there, I'm not really a programmer, but this has bugged me for days.How do checksums work? In a recent multiplyer game of EU3 I had a checksum of (lets say) HP3Z, whilst the others had HP4Z. I had to change a value in the game files and it changed into HP4Z. How is the checksum generated, because surely to accomodate every possible combination of values and things the checksum would have to be millions of places long.TL;DR : How do checksums work and how are they generaated?   
  To get you started:http://en.wikipedia.org/wiki/Linear_codehttp://en.wikipedia.org/wiki/Hash_functionhttp://en.wikipedia.org/wiki/Cryptographic_hash_function...continue with a decent book about linear algebra and work your way from there.   ;  Usually the algorithms are a complicated form of summation.  hence, a SUM.For example, lets imagine I have 5 values:134811The "Checksum" of these values (depending on algorithm) might be simple, like adding them all up.  So, the checksum is 23.  Now, if I want to verify that you haven't changed any of these values, then all I have to do is verify that all the values add up to 23, then send that.  If you change one (like changing the 3 to a 4) then the checksum would change to 22, and I know you changed something.  Therefore, the only way to beat this checksum would be to simultaneously change ALL of the values to ensure that their sum added up to 23, which is only slightly challenging here, but nigh impossible when there are thousands of interconnected values to use.  Additionally, most of the actual checksum algorithms are significantly more complicated and take steps to prevent such tampering, making defeating them in that manner much harder.  I hope you get the idea now.   