Unixプラットフォームで利用できます。
このモジュールは DES アルゴリズムに基づいた 一方向ハッシュ関数である crypt(3) ルーチンを実装しています。詳細については Unix マニュアルページ を参照してください。このモジュールは、Python スクリプトが ユーザから入力されたパスワードを受理できるようにしたり、Unix パスワードに (脆弱性検査のための) 辞書攻撃を試みるのに使えます。
このモジュールは実行環境のcrypt(3)の実装に依 存しています。そのため、現在の実装で利用可能な拡張を、このモジュールで もそのまま利用できます。
| word, salt) |
いくつかの拡張されたcrypt(3)は異なる値と salt の長さを許しているので、パスワードをチェックする際にはcrypt されたパスワード文字列全体をsaltとして渡すよう勧めます。
典型的な使用例のサンプルコード:
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) == cryptedpasswd
else:
return 1