Disponibilità: Unix.
Questo modulo implementa un'interfaccia della procedura crypt(3), che è una funzione di hash a senso unico basata su un algoritmo DES modificato; vedete anche la relativa pagina man di Unix per ulteriori dettagli. Tra i possibili utilizzi annoveriamo la possibilità degli script Python di accettare password digitate dall'utente o quella di tentare la rottura di password Unix tramite un dizionario.
| word, salt) |
Un semplice esempio ne illustra un utilizzo tipico:
import crypt, getpass, pwd
def login():
username = raw_input('Python login:')
cryptedpasswd = pwd.getpwnam(username)[1]
if cryptedpasswd:
if cryptedpasswd == 'x' or cryptedpasswd == '*':
raise "Spiacente, al momento non è disponibile il supporto per le password shadow"
cleartext = getpass.getpass()
return crypt.crypt(cleartext, cryptedpasswd[:2]) == cryptedpasswd
else:
return 1