]> granicus.if.org Git - python/commitdiff
Fix hmac docs: it takes and returns bytes, except for hexdigest().
authorGeorg Brandl <georg@python.org>
Sun, 17 Oct 2010 09:43:35 +0000 (09:43 +0000)
committerGeorg Brandl <georg@python.org>
Sun, 17 Oct 2010 09:43:35 +0000 (09:43 +0000)
Doc/library/hmac.rst

index 6ffd00aa04f47938cc7f1c9d54acd5d4ce560242..b91aebd163fcb31b5575a5c6ec3fde650c77d19a 100644 (file)
@@ -2,7 +2,8 @@
 ========================================================
 
 .. module:: hmac
-   :synopsis: Keyed-Hashing for Message Authentication (HMAC) implementation for Python.
+   :synopsis: Keyed-Hashing for Message Authentication (HMAC) implementation
+              for Python.
 .. moduleauthor:: Gerhard Häring <ghaering@users.sourceforge.net>
 .. sectionauthor:: Gerhard Häring <ghaering@users.sourceforge.net>
 
@@ -12,37 +13,39 @@ This module implements the HMAC algorithm as described by :rfc:`2104`.
 
 .. function:: new(key, msg=None, digestmod=None)
 
-   Return a new hmac object.  If *msg* is present, the method call ``update(msg)``
-   is made. *digestmod* is the digest constructor or module for the HMAC object to
-   use. It defaults to  the :func:`hashlib.md5` constructor.
+   Return a new hmac object.  *key* is a bytes object giving the secret key.  If
+   *msg* is present, the method call ``update(msg)`` is made.  *digestmod* is
+   the digest constructor or module for the HMAC object to use. It defaults to
+   the :func:`hashlib.md5` constructor.
 
    .. note::
 
       The md5 hash has known weaknesses but remains the default for backwards
-      compatibility. Choose a better one for your application.
+      compatibility.  Choose a better one for your application.
 
-An HMAC object has the following methods:
 
+An HMAC object has the following methods:
 
 .. method:: hmac.update(msg)
 
-   Update the hmac object with the string *msg*.  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)``.
+   Update the hmac object with the bytes object *msg*.  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:: hmac.digest()
 
-   Return the digest of the strings passed to the :meth:`update` method so far.
-   This string will be the same length as the *digest_size* of the digest given to
-   the constructor.  It may contain non-ASCII characters, including NUL bytes.
+   Return the digest of the bytes passed to the :meth:`update` method so far.
+   This bytes object will be the same length as the *digest_size* of the digest
+   given to the constructor.  It may contain non-ASCII bytes, including NUL
+   bytes.
 
 
 .. method:: hmac.hexdigest()
 
-   Like :meth:`digest` except the digest is returned as a string twice the length
-   containing only hexadecimal digits.  This may be used to exchange the value
-   safely in email or other non-binary environments.
+   Like :meth:`digest` except the digest is returned as a string twice the
+   length containing only hexadecimal digits.  This may be used to exchange the
+   value safely in email or other non-binary environments.
 
 
 .. method:: hmac.copy()
@@ -55,4 +58,3 @@ An HMAC object has the following methods:
 
    Module :mod:`hashlib`
       The Python module providing secure hash functions.
-