]> granicus.if.org Git - python/commitdiff
In stdlib, use hashlib instead of deprecated md5 and sha modules.
authorGeorg Brandl <georg@python.org>
Sun, 30 Apr 2006 08:57:35 +0000 (08:57 +0000)
committerGeorg Brandl <georg@python.org>
Sun, 30 Apr 2006 08:57:35 +0000 (08:57 +0000)
Lib/distutils/command/upload.py
Lib/plat-mac/pimp.py
Lib/poplib.py
Lib/test/test_stringprep.py
Lib/test/test_unicodedata.py
Lib/urllib2.py

index 6f4ce81f7961a34a1c80c5847fde0be062ffc222..4a9ed398a01cf905ab9fee6a361f66cdeddc11f0 100644 (file)
@@ -6,7 +6,7 @@ from distutils.errors import *
 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
index 21923ec55087ec93b24c64c4bb66f96f4147d402..456427c1cd296422ac82cab94843d95fb0278917 100644 (file)
@@ -21,7 +21,7 @@ import urlparse
 import plistlib
 import distutils.util
 import distutils.sysconfig
-import md5
+import hashlib
 import tarfile
 import tempfile
 import shutil
@@ -693,7 +693,7 @@ class PimpPackage:
             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):
index 202c6e00548dcb5b35f117f2833779a0d1a372b0..1cf114abc39f9c8fb3ce5e67ff7f0b26ef6c9775 100644 (file)
@@ -295,8 +295,8 @@ class POP3:
         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))
 
index 4459689989eea72c2540d1b6f6c5c882b7c209a4..2baf4a5f2cac1e3306d38c3e60dfdeecaebc60dc 100644 (file)
@@ -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 @@ verify(not in_table_d2(u"\u0040"))
 # 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 @@ verify(not in_table_d2(u"\u0040"))
 #         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()
index f84caad5377fdd9d1251b92bc99ce96683e4e572..c4b5cf376372cd036494215e59d1ba42bbad8f2f 100644 (file)
@@ -6,7 +6,7 @@
 
 """#"
 import unittest, test.test_support
-import sha
+import hashlib
 
 encoding = 'utf-8'
 
@@ -19,7 +19,7 @@ class UnicodeMethodsTest(unittest.TestCase):
     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 @@ class UnicodeFunctionsTest(UnicodeDatabaseTest):
 
     def test_function_checksum(self):
         data = []
-        h = sha.sha()
+        h = hashlib.sha1()
 
         for i in range(0x10000):
             char = unichr(i)
index 6a1cfb429dbf8e7d14bb5e92bb4a252cf6ae93cc..e90b61f318e8e6e4215ab80b2882cfc9e9c05c20 100644 (file)
@@ -88,14 +88,13 @@ import base64
 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 @@ class AbstractDigestAuthHandler:
         # 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 @@ class AbstractDigestAuthHandler:
     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