In stdlib, use hashlib instead of deprecated md5 and sha modules.

This commit is contained in:
Georg Brandl 2006-04-30 08:57:35 +00:00
parent fa42bd7af4
commit bffb0bc064
6 changed files with 16 additions and 17 deletions

View 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

View 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):

View 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))

View 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()

View 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)

View 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