[Python-checkins] r45817 - in python/trunk/Lib: distutils/command/upload.py plat-mac/pimp.py poplib.py test/test_stringprep.py test/test_unicodedata.py urllib2.py

georg.brandl python-checkins at python.org
Sun Apr 30 10:57:36 CEST 2006


Author: georg.brandl
Date: Sun Apr 30 10:57:35 2006
New Revision: 45817

Modified:
   python/trunk/Lib/distutils/command/upload.py
   python/trunk/Lib/plat-mac/pimp.py
   python/trunk/Lib/poplib.py
   python/trunk/Lib/test/test_stringprep.py
   python/trunk/Lib/test/test_unicodedata.py
   python/trunk/Lib/urllib2.py
Log:
In stdlib, use hashlib instead of deprecated md5 and sha modules.



Modified: python/trunk/Lib/distutils/command/upload.py
==============================================================================
--- python/trunk/Lib/distutils/command/upload.py	(original)
+++ python/trunk/Lib/distutils/command/upload.py	Sun Apr 30 10:57:35 2006
@@ -6,7 +6,7 @@
 from distutils.core import Command
 from distutils.spawn import spawn
 from distutils import log
-from md5 import md5
+from hashlib import md5
 import os
 import socket
 import platform

Modified: python/trunk/Lib/plat-mac/pimp.py
==============================================================================
--- python/trunk/Lib/plat-mac/pimp.py	(original)
+++ python/trunk/Lib/plat-mac/pimp.py	Sun Apr 30 10:57:35 2006
@@ -21,7 +21,7 @@
 import plistlib
 import distutils.util
 import distutils.sysconfig
-import md5
+import hashlib
 import tarfile
 import tempfile
 import shutil
@@ -693,7 +693,7 @@
             sys.stderr.write("Warning: no MD5Sum for %s\n" % self.fullname())
             return 1
         data = open(self.archiveFilename, 'rb').read()
-        checksum = md5.new(data).hexdigest()
+        checksum = hashlib.md5(data).hexdigest()
         return checksum == self._dict['MD5Sum']
 
     def unpackPackageOnly(self, output=None):

Modified: python/trunk/Lib/poplib.py
==============================================================================
--- python/trunk/Lib/poplib.py	(original)
+++ python/trunk/Lib/poplib.py	Sun Apr 30 10:57:35 2006
@@ -295,8 +295,8 @@
         m = self.timestamp.match(self.welcome)
         if not m:
             raise error_proto('-ERR APOP not supported by server')
-        import md5
-        digest = md5.new(m.group(1)+secret).digest()
+        import hashlib
+        digest = hashlib.md5(m.group(1)+secret).digest()
         digest = ''.join(map(lambda x:'%02x'%ord(x), digest))
         return self._shortcmd('APOP %s %s' % (user, digest))
 

Modified: python/trunk/Lib/test/test_stringprep.py
==============================================================================
--- python/trunk/Lib/test/test_stringprep.py	(original)
+++ python/trunk/Lib/test/test_stringprep.py	Sun Apr 30 10:57:35 2006
@@ -2,7 +2,6 @@
 # Since we don't have them, this test checks only a few codepoints.
 
 from test.test_support import verify, vereq
-import sha
 
 import stringprep
 from stringprep import *
@@ -73,6 +72,7 @@
 # unicode database. Instead, stringprep.py asserts the version of
 # the database.
 
+# import hashlib
 # predicates = [k for k in dir(stringprep) if k.startswith("in_table")]
 # predicates.sort()
 # for p in predicates:
@@ -83,6 +83,6 @@
 #         if f(unichr(i)):
 #             data[i] = "1"
 #     data = "".join(data)
-#     h = sha.sha()
+#     h = hashlib.sha1()
 #     h.update(data)
-#     print p,h.hexdigest()
+#     print p, h.hexdigest()

Modified: python/trunk/Lib/test/test_unicodedata.py
==============================================================================
--- python/trunk/Lib/test/test_unicodedata.py	(original)
+++ python/trunk/Lib/test/test_unicodedata.py	Sun Apr 30 10:57:35 2006
@@ -6,7 +6,7 @@
 
 """#"
 import unittest, test.test_support
-import sha
+import hashlib
 
 encoding = 'utf-8'
 
@@ -19,7 +19,7 @@
     expectedchecksum = 'a6555cd209d960dcfa17bfdce0c96d91cfa9a9ba'
 
     def test_method_checksum(self):
-        h = sha.sha()
+        h = hashlib.sha1()
         for i in range(65536):
             char = unichr(i)
             data = [
@@ -79,7 +79,7 @@
 
     def test_function_checksum(self):
         data = []
-        h = sha.sha()
+        h = hashlib.sha1()
 
         for i in range(0x10000):
             char = unichr(i)

Modified: python/trunk/Lib/urllib2.py
==============================================================================
--- python/trunk/Lib/urllib2.py	(original)
+++ python/trunk/Lib/urllib2.py	Sun Apr 30 10:57:35 2006
@@ -88,14 +88,13 @@
 import ftplib
 import httplib
 import inspect
-import md5
+import hashlib
 import mimetypes
 import mimetools
 import os
 import posixpath
 import random
 import re
-import sha
 import socket
 import sys
 import time
@@ -869,8 +868,8 @@
         # and server to avoid chosen plaintext attacks, to provide mutual
         # authentication, and to provide some message integrity protection.
         # This isn't a fabulous effort, but it's probably Good Enough.
-        dig = sha.new("%s:%s:%s:%s" % (self.nonce_count, nonce, time.ctime(),
-                                       randombytes(8))).hexdigest()
+        dig = hashlib.sha1("%s:%s:%s:%s" % (self.nonce_count, nonce, time.ctime(),
+                                            randombytes(8))).hexdigest()
         return dig[:16]
 
     def get_authorization(self, req, chal):
@@ -932,9 +931,9 @@
     def get_algorithm_impls(self, algorithm):
         # lambdas assume digest modules are imported at the top level
         if algorithm == 'MD5':
-            H = lambda x: md5.new(x).hexdigest()
+            H = lambda x: hashlib.md5(x).hexdigest()
         elif algorithm == 'SHA':
-            H = lambda x: sha.new(x).hexdigest()
+            H = lambda x: hashlib.sha1(x).hexdigest()
         # XXX MD5-sess
         KD = lambda s, d: H("%s:%s" % (s, d))
         return H, KD


More information about the Python-checkins mailing list