Does that mean there was bitrot ready in the original file? Something else? How is the checksum even generated successfully if it's corrupted or undreadable in the first place.
It is important that you check to see if the file really is pristine after you take the first checksum. That you can read and use the file. Otherwise you may take a checksum of a file that is already corrupt. That is not very useful.
Most likely it is not actually spontaneous bitrot. It is much more likely that somebody made the file corrupt. Usually it is some form of user error.