Django

Code

Changeset 2882

Show
Ignore:
Timestamp:
05/09/06 23:20:53 (2 years ago)
Author:
jkocherhans
Message:

multi-auth: Moved check_password implementation to a function and updated the method to use it. This makes it available for future backends to use.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/multi-auth/django/contrib/auth/models.py

    r2809 r2882  
    66 
    77SESSION_KEY = '_auth_user_id' 
     8 
     9def check_password(raw_password, enc_password): 
     10    """ 
     11    Returns a boolean of whether the raw_password was correct. Handles 
     12    encryption formats behind the scenes. 
     13    """ 
     14    algo, salt, hsh = enc_password.split('$') 
     15    if algo == 'md5': 
     16        import md5 
     17        return hsh == md5.new(salt+raw_password).hexdigest() 
     18    elif algo == 'sha1': 
     19        import sha 
     20        return hsh == sha.new(salt+raw_password).hexdigest() 
     21    raise ValueError, "Got unknown password algorithm type in password." 
    822 
    923class SiteProfileNotAvailable(Exception): 
     
    118132                self.save() 
    119133            return is_correct 
    120         algo, salt, hsh = self.password.split('$') 
    121         if algo == 'md5': 
    122             import md5 
    123             return hsh == md5.new(salt+raw_password).hexdigest() 
    124         elif algo == 'sha1': 
    125             import sha 
    126             return hsh == sha.new(salt+raw_password).hexdigest() 
    127         raise ValueError, "Got unknown password algorithm type in password." 
     134        return check_password(raw_password, self.password) 
    128135 
    129136    def get_group_permissions(self):