Mercurial > cpython-lru_cache-weakref
view Doc/lib/libcrypt.tex @ 21467:4e35fa5d5708 legacy-trunk
Add documentation for the help() built-in; contributed by Ka-Ping Yee.
This is part of SF patch #494622.
| author | Fred Drake <fdrake@acm.org> |
|---|---|
| date | Tue, 18 Dec 2001 16:31:08 +0000 |
| parents | 6dc36078f53e |
| children | 9582fa2e5e0d |
line wrap: on
line source
\section{\module{crypt} --- Function to check \UNIX{} passwords} \declaremodule{builtin}{crypt} \platform{Unix} \modulesynopsis{The \cfunction{crypt()} function used to check \UNIX\ passwords.} \moduleauthor{Steven D. Majewski}{sdm7g@virginia.edu} \sectionauthor{Steven D. Majewski}{sdm7g@virginia.edu} \sectionauthor{Peter Funk}{pf@artcom-gmbh.de} This module implements an interface to the \manpage{crypt}{3}\index{crypt(3)} routine, which is a one-way hash function based upon a modified DES\indexii{cipher}{DES} algorithm; see the \UNIX{} man page for further details. Possible uses include allowing Python scripts to accept typed passwords from the user, or attempting to crack \UNIX{} passwords with a dictionary. \begin{funcdesc}{crypt}{word, salt} \var{word} will usually be a user's password as typed at a prompt or in a graphical interface. \var{salt} is usually a random two-character string which will be used to perturb the DES algorithm in one of 4096 ways. The characters in \var{salt} must be in the set \regexp{[./a-zA-Z0-9]}. Returns the hashed password as a string, which will be composed of characters from the same alphabet as the salt (the first two characters represent the salt itself). \end{funcdesc} A simple example illustrating typical use: \begin{verbatim} 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 \end{verbatim}
