A method and apparatus identifies the existence of differences between two files on a
personal computer, such as two versions of a
Windows registry file. Portions of each of the files are hashed into a four
byte value per portion to produce a set of hash results, and the set of hash results is combined with a four
byte size of the portion of the file from which the hash was generated to produce a signature of each file. If the two files are different versions of a
Windows registry file, the portion of the file hashed are the values of the
Windows registry file. If the two files are different, there is a
high probability that the signatures of the two files will be different. The signatures may be compared to provide a strong indicator whether the two files are different. Each four-
byte hash from one file can be compared against its counterpart from the other file to determine the portion or portions of the files that differ. Stored portions of one file that are determined to differ may be inserted into corresponding portions of the other file to cause the two files to be equivalent.