| \section{\module{hmac} --- |
| Keyed-Hashing for Message Authentication} |
| |
| \declaremodule{standard}{hmac} |
| \modulesynopsis{Keyed-Hashing for Message Authentication (HMAC) |
| implementation for Python.} |
| \moduleauthor{Gerhard H{\"a}ring}{ghaering@users.sourceforge.net} |
| \sectionauthor{Gerhard H{\"a}ring}{ghaering@users.sourceforge.net} |
| |
| \versionadded{2.2} |
| |
| This module implements the HMAC algorithm as described by \rfc{2104}. |
| |
| \begin{funcdesc}{new}{key\optional{, msg\optional{, digestmod}}} |
| Return a new hmac object. If \var{msg} is present, the method call |
| \code{update(\var{msg})} is made. \var{digestmod} is the digest |
| constructor or module for the HMAC object to use. It defaults to |
| the \function{\refmodule{hashlib}.md5} constructor. \note{The md5 hash |
| has known weaknesses but remains the default for backwards compatibility. |
| Choose a better one for your application.} |
| \end{funcdesc} |
| |
| An HMAC object has the following methods: |
| |
| \begin{methoddesc}[hmac]{update}{msg} |
| Update the hmac object with the string \var{msg}. Repeated calls |
| are equivalent to a single call with the concatenation of all the |
| arguments: \code{m.update(a); m.update(b)} is equivalent to |
| \code{m.update(a + b)}. |
| \end{methoddesc} |
| |
| \begin{methoddesc}[hmac]{digest}{} |
| Return the digest of the strings passed to the \method{update()} |
| method so far. This string will be the same length as the |
| \var{digest_size} of the digest given to the constructor. It |
| may contain non-\ASCII{} characters, including NUL bytes. |
| \end{methoddesc} |
| |
| \begin{methoddesc}[hmac]{hexdigest}{} |
| Like \method{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. |
| \end{methoddesc} |
| |
| \begin{methoddesc}[hmac]{copy}{} |
| Return a copy (``clone'') of the hmac object. This can be used to |
| efficiently compute the digests of strings that share a common |
| initial substring. |
| \end{methoddesc} |
| |
| \begin{seealso} |
| \seemodule{hashlib}{The python module providing secure hash functions.} |
| \end{seealso} |