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