symbian-qemu-0.9.1-12/python-2.6.1/Doc/library/md5.rst
author johnathan.white@2718R8BGH51.accenture.com
Mon, 08 Mar 2010 18:45:03 +0000
changeset 46 b6935a90ca64
parent 1 2fb8b9db1c86
permissions -rw-r--r--
Modify framebuffer and NGA framebuffer to read screen size from board model dtb file. Optimise memory usuage of frame buffer Add example minigui application with hooks to profiler (which writes results to S:\). Modified NGA framebuffer to run its own dfc queue at high priority


:mod:`md5` --- MD5 message digest algorithm
===========================================

.. module:: md5
   :synopsis: RSA's MD5 message digest algorithm.
   :deprecated:


.. deprecated:: 2.5
   Use the :mod:`hashlib` module instead.

.. index::
   single: message digest, MD5
   single: checksum; MD5

This module implements the interface to RSA's MD5 message digest  algorithm (see
also Internet :rfc:`1321`).  Its use is quite straightforward: use :func:`new`
to create an md5 object. You can now feed this object with arbitrary strings
using the :meth:`update` method, and at any point you can ask it for the
:dfn:`digest` (a strong kind of 128-bit checksum, a.k.a. "fingerprint") of the
concatenation of the strings fed to it so far using the :meth:`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()
   '\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'

More condensed:

   >>> md5.new("Nobody inspects the spammish repetition").digest()
   '\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'

The following values are provided as constants in the module and as attributes
of the md5 objects returned by :func:`new`:


.. data:: digest_size

   The size of the resulting digest in bytes.  This is always ``16``.

The md5 module provides the following functions:


.. function:: new([arg])

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


.. function:: md5([arg])

   For backward compatibility reasons, this is an alternative name for the
   :func:`new` function.

An md5 object has the following methods:


.. method:: md5.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: ``m.update(a);
   m.update(b)`` is equivalent to ``m.update(a+b)``.


.. method:: md5.digest()

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


.. method:: md5.hexdigest()

   Like :meth:`digest` except the digest is returned as a string of length 32,
   containing only hexadecimal digits.  This may  be used to exchange the value
   safely in email or other non-binary environments.


.. method:: md5.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.


.. seealso::

   Module :mod:`sha`
      Similar module implementing the Secure Hash Algorithm (SHA).  The SHA algorithm
      is considered a more secure hash.