A hash function used for content addressing is different from the hash
function used for content verification. Adding a file to a database
involves storing both hash function values in a table as pair. Verifying
the integrity of a file believed to be a duplicate in a database, or when
retrieving a file, makes use of the verification hash function. Files can
be continuously checked. A multi-level database can be used. A second
hash function can be added to an existing system. A verification hash
function can be upgraded and more than one content verification hash
function can be used. In a variation, a random number generator is used
instead of a hash function for content addressing; the verification hash
function is also used. Files addressed using a random number are added or
retrieved from a database and their verification hash values are checked.
Time stamps and digital signatures are used for security.