15.1 md5 -- MD5 message digest algorithm.

This module implements the interface to RSA's MD5 message digest algorithm (see also Internet RFC 1321). Its use is quite straightforward: use the new() to create an md5 object. You can now feed this object with arbitrary strings using the update() method, and at any point you can ask it for the digest (a strong kind of 128-bit checksum, a.k.a. ``fingerprint'') of the contatenation of the strings fed to it so far using the digest() method.

For example, to obtain the digest of the string 'Nobody inspects the spammish repetition':

>>> import md5
>>> m = md5.new()
>>> m.update("Nobody inspects")
>>> m.update(" the spammish repetition")
>>> m.digest()
'\273d\234\203\335\036\245\311\331\336\311\241\215\360\377\351'

More condensed:

>>> md5.new("Nobody inspects the spammish repetition").digest()
'\273d\234\203\335\036\245\311\331\336\311\241\215\360\377\351'

new ([arg])
Return a new md5 object. If arg is present, the method call update(arg) is made.

md5 ([arg])
For backward compatibility reasons, this is an alternative name for the new() function.

An md5 object has the following methods:

update (arg)
Update the md5 object with the string arg. Repeated calls are equivalent to a single call with the concatenation of all the arguments, i.e. m.update(a); m.update(b) is equivalent to m.update(a+b).

digest ()
Return the digest of the strings passed to the update() method so far. This is an 16-byte string which may contain non-ASCII characters, including null bytes.

copy ()
Return a copy (``clone'') of the md5 object. This can be used to efficiently compute the digests of strings that share a common initial substring.