I had problems installing some software packages on a Windows XP computer. I started troubleshooting the problem and at the end I decided to do a cryptographic test, and bingo! I had found the reason why the installation was failing. Parts of the installer files were corrupted.
The installer files were transferred from another computer on my network to the Windows XP computer. The cryptographic test I refer to was a simple SHA-256 hash function. I compared the message digests on source computer and target computer and they were not matching up! To be sure I was doing it right I repeated the test several times, and this time I also added MD5 hash to the mix. I started noticing very strange computer voodoo! Sometimes the digests were matching up, and sometimes not, or the MD5 would match up but not SHA-256. I also tried sending the installer files over again, and also in the other direction, all to no avail.
I have since done a clean install of Windows XP because I suspected that this is the computer that has the problem. I was right to suspect this one, because after reinstalling Windows XP I did the same tests again and now I'm getting the same message digests.
However! To be absolutely certain, beyond any doubt, that the problem has been resolved... I would like to do some type of data corruption test. Perhaps some kind of rolling hash function test from command line? Maybe I'm just dreaming now, but is there any such tool? I would love to be able to make one, but that's beyond my current knowledge.
This may or may not be related, but I should add that I have also conducted several RAM tests. I used both Memtest86+ and the good old Windows Memory Diagnostic (WMD). I got varying results. It passes all the tests in the standard test suite in Memtest86+ except test 7 and 8. Similarly, it passes all tests in WMD except the LRAND and ERAND test. I have reconfigured the memory now and it seems to be passing them all now.
I want to start the test and leave it running for 48 hours, unattended. This is why I don't view file copy tools with verification, such as TeraCopy, as an actual test tool. So fiddling with files back and forth is not what I'm after here.