The best way would be to generate a checksum value for each file, then check the checksum against the current file's checksum and see if they match...if not, they've changed.

Dilettante's suggestion, while the standard method, is open to outside intervention...meaning that some files might not be backed up when you run your backup code.

And regarding checksums (in case you need to ask), anything will do...CRC32 is usually what people use and more than enough, but MD5 is the best option...and there's free functions out there for calculating both :-)