[crans_utils/hash] Backward compatibility needed
* À l'heure actuelle, les hash ssha contenus dans la base LDAP ont un sel de seulement 4 octets.
This commit is contained in:
parent
ecc1b59d4a
commit
5559fa1876
1 changed files with 11 additions and 9 deletions
|
@ -238,11 +238,13 @@ def escape(chaine):
|
|||
return ldap.filter.escape_filter_chars(chaine)
|
||||
|
||||
|
||||
def hash_password(password, salt=None):
|
||||
def hash_password(password, salt=None, longueur=4):
|
||||
if longueur < 4:
|
||||
raise ValueError("salt devrait faire au moins 4 octets")
|
||||
if salt is None:
|
||||
salt = os.urandom(8)
|
||||
elif len(salt)<8:
|
||||
raise ValueError("salt devrait faire au moins 8 octets")
|
||||
salt = os.urandom(longueur)
|
||||
elif len(salt)<4:
|
||||
raise ValueError("salt devrait faire au moins 4 octets")
|
||||
|
||||
return '{SSHA}' + base64.b64encode(hashlib.sha1(password + salt).digest() + salt)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue