diff options
author | cinap_lenrek <cinap_lenrek@localhost> | 2011-05-03 11:25:13 +0000 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@localhost> | 2011-05-03 11:25:13 +0000 |
commit | 458120dd40db6b4df55a4e96b650e16798ef06a0 (patch) | |
tree | 8f82685be24fef97e715c6f5ca4c68d34d5074ee /sys/src/cmd/python/Doc/lib/libmd5.tex | |
parent | 3a742c699f6806c1145aea5149bf15de15a0afd7 (diff) |
add hg and python
Diffstat (limited to 'sys/src/cmd/python/Doc/lib/libmd5.tex')
-rw-r--r-- | sys/src/cmd/python/Doc/lib/libmd5.tex | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/sys/src/cmd/python/Doc/lib/libmd5.tex b/sys/src/cmd/python/Doc/lib/libmd5.tex new file mode 100644 index 000000000..38105ae87 --- /dev/null +++ b/sys/src/cmd/python/Doc/lib/libmd5.tex @@ -0,0 +1,92 @@ +\section{\module{md5} --- + MD5 message digest algorithm} + +\declaremodule{builtin}{md5} +\modulesynopsis{RSA's MD5 message digest algorithm.} + +\deprecated{2.5}{Use the \refmodule{hashlib} module instead.} + +This module implements the interface to RSA's MD5 message digest +\index{message digest, MD5} +algorithm (see also Internet \rfc{1321}). Its use is quite +straightforward:\ use \function{new()} to create an md5 object. +You can now feed this object with arbitrary strings using the +\method{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 \method{digest()} method. +\index{checksum!MD5} + +For example, to obtain the digest of the string \code{'Nobody inspects +the spammish repetition'}: + +\begin{verbatim} +>>> 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' +\end{verbatim} + +More condensed: + +\begin{verbatim} +>>> md5.new("Nobody inspects the spammish repetition").digest() +'\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9' +\end{verbatim} + +The following values are provided as constants in the module and as +attributes of the md5 objects returned by \function{new()}: + +\begin{datadesc}{digest_size} + The size of the resulting digest in bytes. This is always + \code{16}. +\end{datadesc} + +The md5 module provides the following functions: + +\begin{funcdesc}{new}{\optional{arg}} +Return a new md5 object. If \var{arg} is present, the method call +\code{update(\var{arg})} is made. +\end{funcdesc} + +\begin{funcdesc}{md5}{\optional{arg}} +For backward compatibility reasons, this is an alternative name for the +\function{new()} function. +\end{funcdesc} + +An md5 object has the following methods: + +\begin{methoddesc}[md5]{update}{arg} +Update the md5 object with the string \var{arg}. 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}[md5]{digest}{} +Return the digest of the strings passed to the \method{update()} +method so far. This is a 16-byte string which may contain +non-\ASCII{} characters, including null bytes. +\end{methoddesc} + +\begin{methoddesc}[md5]{hexdigest}{} +Like \method{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. +\end{methoddesc} + +\begin{methoddesc}[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. +\end{methoddesc} + + +\begin{seealso} + \seemodule{sha}{Similar module implementing the Secure Hash + Algorithm (SHA). The SHA algorithm is considered a + more secure hash.} +\end{seealso} |