[crans_utils] strip_spaces paramètre pour choisir le remplasant des espaces, fonction pour calculer des hash SSHA
This commit is contained in:
parent
dd94fcd228
commit
23369476ef
1 changed files with 13 additions and 2 deletions
|
@ -37,6 +37,8 @@ import time
|
|||
import smtplib
|
||||
import sys
|
||||
import os
|
||||
import base64
|
||||
import hashlib
|
||||
import ldap.filter
|
||||
sys.path.append('/usr/scripts/gestion')
|
||||
import config
|
||||
|
@ -153,9 +155,9 @@ def strip_accents(a):
|
|||
res = normalize('NFKD', a).encode('ASCII', 'ignore')
|
||||
return unicode(res)
|
||||
|
||||
def strip_spaces(a):
|
||||
def strip_spaces(a, by=u'_'):
|
||||
""" Suppression des espaces et des apostrophes"""
|
||||
return a.replace(u' ', u'_').replace(u"'", u'')
|
||||
return a.replace(u' ', by).replace(u"'", u'')
|
||||
|
||||
def mailexist(mail):
|
||||
"""Vérifie si une adresse mail existe ou non grace à la commande
|
||||
|
@ -232,3 +234,12 @@ def escape(chaine):
|
|||
"""Renvoie une chaîne échapée pour pouvoir la mettre en toute sécurité
|
||||
dans une requête ldap."""
|
||||
return ldap.filter.escape_filter_chars(chaine)
|
||||
|
||||
|
||||
def hash_password(password, salt=None):
|
||||
if salt is None:
|
||||
salt = os.urandom(8)
|
||||
elif len(salt)<8:
|
||||
raise ValueError("salt devrait faire au moins 8 octets")
|
||||
|
||||
return '{SSHA}' + base64.b64encode(hashlib.sha1(password + salt).digest() + salt)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue