Commit 80b75fd2 authored by Georg Brandl's avatar Georg Brandl

Fix hmac docs: it takes and returns bytes, except for hexdigest().

parent 7716ca6c
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
======================================================== ========================================================
.. module:: hmac .. 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> .. moduleauthor:: Gerhard Häring <ghaering@users.sourceforge.net>
.. sectionauthor:: 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`. ...@@ -12,37 +13,39 @@ This module implements the HMAC algorithm as described by :rfc:`2104`.
.. function:: new(key, msg=None, digestmod=None) .. function:: new(key, msg=None, digestmod=None)
Return a new hmac object. If *msg* is present, the method call ``update(msg)`` Return a new hmac object. *key* is a bytes object giving the secret key. If
is made. *digestmod* is the digest constructor or module for the HMAC object to *msg* is present, the method call ``update(msg)`` is made. *digestmod* is
use. It defaults to the :func:`hashlib.md5` constructor. the digest constructor or module for the HMAC object to use. It defaults to
the :func:`hashlib.md5` constructor.
.. note:: .. note::
The md5 hash has known weaknesses but remains the default for backwards 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) .. method:: hmac.update(msg)
Update the hmac object with the string *msg*. Repeated calls are equivalent to Update the hmac object with the bytes object *msg*. Repeated calls are
a single call with the concatenation of all the arguments: ``m.update(a); equivalent to a single call with the concatenation of all the arguments:
m.update(b)`` is equivalent to ``m.update(a + b)``. ``m.update(a); m.update(b)`` is equivalent to ``m.update(a + b)``.
.. method:: hmac.digest() .. method:: hmac.digest()
Return the digest of the strings passed to the :meth:`update` method so far. Return the digest of the bytes passed to the :meth:`update` method so far.
This string will be the same length as the *digest_size* of the digest given to This bytes object will be the same length as the *digest_size* of the digest
the constructor. It may contain non-ASCII characters, including NUL bytes. given to the constructor. It may contain non-ASCII bytes, including NUL
bytes.
.. method:: hmac.hexdigest() .. method:: hmac.hexdigest()
Like :meth:`digest` except the digest is returned as a string twice the length Like :meth:`digest` except the digest is returned as a string twice the
containing only hexadecimal digits. This may be used to exchange the value length containing only hexadecimal digits. This may be used to exchange the
safely in email or other non-binary environments. value safely in email or other non-binary environments.
.. method:: hmac.copy() .. method:: hmac.copy()
...@@ -55,4 +58,3 @@ An HMAC object has the following methods: ...@@ -55,4 +58,3 @@ An HMAC object has the following methods:
Module :mod:`hashlib` Module :mod:`hashlib`
The Python module providing secure hash functions. The Python module providing secure hash functions.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment