Disponibilité: Unix
Ce module implémente une interface à la routine crypt(3), qui est une fonction de hachage non-réversible basée sur un algorithme DES modifié. Voir
les pages man Unix pour plus de détail. Les utilisations possibles sont
le calcul d'un mot de passe Unix par Python, voire la recherche
systèmatique de mots de passe par dictionnaire (ceci peut ëtre utilisé pour
des intentions malveillantes).
Un exemple simple illustre une utilisation habituelle:
crypt(mot, sel)
import crypt, getpass, pwd
def login():
username = raw_input('Python login:')
cryptedpasswd = pwd.getpwnam(username)[1]
if cryptedpasswd:
if cryptedpasswd == 'x' or cryptedpasswd == '*':
raise "Sorry, currently no support for shadow passwords"
cleartext = getpass.getpass()
return crypt.crypt(cleartext, cryptedpasswd[:2]) == cryptedpasswd
else:
return 1