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