Fixed #8321 -- Change django.contrib.auth.models to use django.utils.hashcompat
for consistency with other code. Thanks, magneto. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9160 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
c58c1f43cf
commit
fb62bcc69e
|
@ -1,12 +1,14 @@
|
||||||
|
import datetime
|
||||||
|
import urllib
|
||||||
|
|
||||||
from django.contrib import auth
|
from django.contrib import auth
|
||||||
from django.core.exceptions import ImproperlyConfigured
|
from django.core.exceptions import ImproperlyConfigured
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.db.models.manager import EmptyManager
|
from django.db.models.manager import EmptyManager
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
from django.utils.encoding import smart_str
|
from django.utils.encoding import smart_str
|
||||||
|
from django.utils.hashcompat import md5_constructor, sha_constructor
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
import datetime
|
|
||||||
import urllib
|
|
||||||
|
|
||||||
UNUSABLE_PASSWORD = '!' # This will never be a valid hash
|
UNUSABLE_PASSWORD = '!' # This will never be a valid hash
|
||||||
|
|
||||||
|
@ -27,22 +29,11 @@ def get_hexdigest(algorithm, salt, raw_password):
|
||||||
except ImportError:
|
except ImportError:
|
||||||
raise ValueError('"crypt" password algorithm not supported in this environment')
|
raise ValueError('"crypt" password algorithm not supported in this environment')
|
||||||
return crypt.crypt(raw_password, salt)
|
return crypt.crypt(raw_password, salt)
|
||||||
# The rest of the supported algorithms are supported by hashlib, but
|
|
||||||
# hashlib is only available in Python 2.5.
|
|
||||||
try:
|
|
||||||
import hashlib
|
|
||||||
except ImportError:
|
|
||||||
if algorithm == 'md5':
|
if algorithm == 'md5':
|
||||||
import md5
|
return md5_constructor(salt + raw_password).hexdigest()
|
||||||
return md5.new(salt + raw_password).hexdigest()
|
|
||||||
elif algorithm == 'sha1':
|
elif algorithm == 'sha1':
|
||||||
import sha
|
return sha_constructor(salt + raw_password).hexdigest()
|
||||||
return sha.new(salt + raw_password).hexdigest()
|
|
||||||
else:
|
|
||||||
if algorithm == 'md5':
|
|
||||||
return hashlib.md5(salt + raw_password).hexdigest()
|
|
||||||
elif algorithm == 'sha1':
|
|
||||||
return hashlib.sha1(salt + raw_password).hexdigest()
|
|
||||||
raise ValueError("Got unknown password algorithm type in password.")
|
raise ValueError("Got unknown password algorithm type in password.")
|
||||||
|
|
||||||
def check_password(raw_password, enc_password):
|
def check_password(raw_password, enc_password):
|
||||||
|
|
Loading…
Reference in New Issue