Kaydet (Commit) bffb0bc0 authored tarafından Georg Brandl's avatar Georg Brandl

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

üst fa42bd7a
......@@ -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
......
......@@ -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):
......
......@@ -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))
......
......@@ -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()
......@@ -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)
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment