I'm not sure if I should post this here or in the Windows board, so
I won't mind if our ever vigilant moderators move it.

I keep getting annoyed with adware and other sneaky stuff certain
programs put on my system. So, I got the idea to take a sort of snapshot
of my harddrive before and after installs/uninstalls, or surfing, or whatever, and compare
them some way to detect changes.

Obviously a bit by bit comparison would be impossible, so I hit on the idea
of using an error checking algorithm to get a checksum for each file, put
all the checksums in a new file, and compare them. After some googling
I discovered a program called tripwire does essentially that, but it is way
huge, expensive, and designed for servers and such. So I made one myself.
The prototype works, but two big problems, one C++ specific, and one
Windows specific.

My error checking algo I got from a C++ textbook from the library. It works, but it
took fifteen minutes to do two 10M files. I think I can streamline my file I/O some, but
mainly does anybody know a small, simple, and fast algo to generate binary
checksums on all those files? Or maybe some other approach altogether?

The Windows problem is probably really dumb. It's all easy if you know how!
I can't figure out a way to get my proggy to take every file name on the
whole hard drive, make some sort of list or something, and tell me which
files have been deleted, or if any have been added and where they are.

Any ideas? Just point me in some promising directions and I will work on
it some more, and then start posting some code as it comes up. Could be
a fun project!