[Python-checkins] r52532 - python/trunk/Lib/hashlib.py

georg.brandl python-checkins at python.org
Sun Oct 29 19:01:08 CET 2006


Author: georg.brandl
Date: Sun Oct 29 19:01:08 2006
New Revision: 52532

Modified:
   python/trunk/Lib/hashlib.py
Log:
Bug #1586773: extend hashlib docstring.


Modified: python/trunk/Lib/hashlib.py
==============================================================================
--- python/trunk/Lib/hashlib.py	(original)
+++ python/trunk/Lib/hashlib.py	Sun Oct 29 19:01:08 2006
@@ -18,8 +18,37 @@
 More algorithms may be available on your platform but the above are
 guaranteed to exist.
 
-Choose your hash function wisely.  Some have known weaknesses.
+Choose your hash function wisely.  Some have known collision weaknesses.
 sha384 and sha512 will be slow on 32 bit platforms.
+
+Hash objects have these methods:
+ - update(arg): Update the hash object with the string arg. Repeated calls
+                are equivalent to a single call with the concatenation of all
+                the arguments.
+ - digest():    Return the digest of the strings passed to the update() method
+                so far. This may contain non-ASCII characters, including
+                NUL bytes.
+ - hexdigest(): Like digest() except the digest is returned as a string of
+                double length, containing only hexadecimal digits.
+ - copy():      Return a copy (clone) of the hash object. This can be used to
+                efficiently compute the digests of strings that share a common
+                initial substring.
+
+For example, to obtain the digest of the string 'Nobody inspects the
+spammish repetition':
+
+    >>> import hashlib
+    >>> m = hashlib.md5()
+    >>> 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:
+
+    >>> hashlib.sha224("Nobody inspects the spammish repetition").hexdigest()
+    'a4337bc45a8fc544c03f52dc550cd6e1e87021bc896588bd79e901e2'
+
 """
 
 


More information about the Python-checkins mailing list