In my game I have a server which stores several mods to the original game. So a casual user can download and play. But before getting into mod I need to validate all its files and ensure that the user didn't corrupt them. Let's assume that I have to check 100 MB of files and that only 1 MB is corrupted. In result checking 99 MB would be a waste of time and the server would have to send only 1 MB of correct data that client would replace. And now I'm wondering if it's worth to use some complex algorithms like CRC-32 or MD5 to check that files are correct? What would be the best solution? I would be very grateful for help!