]> granicus.if.org Git - python/commitdiff
A crypt algorithm may not be available by returning None.
authorBrett Cannon <bcannon@gmail.com>
Tue, 22 Feb 2011 21:55:51 +0000 (21:55 +0000)
committerBrett Cannon <bcannon@gmail.com>
Tue, 22 Feb 2011 21:55:51 +0000 (21:55 +0000)
Lib/crypt.py

index e027d2c92c3c70b5445cf9048379cf1026b8f72b..e65b0cbe4d4ee109a964b045ce254acb9dfc38b9 100644 (file)
@@ -53,5 +53,10 @@ METHOD_MD5 = _Method('MD5', '1', 8, 34)
 METHOD_SHA256 = _Method('SHA256', '5', 16, 63)
 METHOD_SHA512 = _Method('SHA512', '6', 16, 106)
 
-methods = [METHOD_SHA512, METHOD_SHA256, METHOD_MD5, METHOD_CRYPT]
-methods[:-1] = [m for m in methods[:-1] if len(crypt('', m)) == m.total_size]
+methods = []
+for _method in (METHOD_SHA512, METHOD_SHA256, METHOD_MD5):
+    _result = crypt('', _method)
+    if _result and len(_result) == _method.total_size:
+        methods.append(_method)
+methods.append(METHOD_CRYPT)
+del _result, _method