2

良い一日。

キャプチャされたパスワードを受け取り、それをシステムのシャドウパスワードと比較するPythonスクリプトを作成しようとしています。

このテストには Ubuntu 12.10 を使用しています。スクリプトをsudoとして実行します。

def login(user, password):
    "Check if user would be able to login using password"
    try:
        pw1 = spwd.getspnam(user)[1]
        allus = spwd.getspall()
        print pw1
        # pw2 = crypt.crypt(password, pw1[:2])
        pw2 = crypt.crypt(password, '\$6\$SALTsalt\$')
        print pw2
        return pw1 == pw2
    except KeyError:
        return 0 # no such user

今、上記が返されます

2 つの異なるパスワードがありますが、私はシャドウから 1 つを取得します。

したがって、私の質問は、提供されたパスワードを暗号化して、取得したパスワードと比較できるようにする方法です。どんな助けでもいいです

アドオンを編集

def login(user, password):
 "Check if user would be able to login using password"
 try:
    pw1 = spwd.getspnam(user)[1]
    allus = spwd.getspall()
  #        print allus
    print pw1
  #        pw2 = crypt.crypt(password, pw1[:2])
  # pw2 = crypt.crypt(password, '\$6\$SALTsalt\$')
pw2 =hashlib.new()
pw2.update(password)
pw2.digest()

    print pw2
    return pw1 == pw2
 except KeyError:
    return 0 # no such user

それも機能しませんでしたシステムパスワードと一致するハッシュを取得するためにhaslibをどのように実装しますか

4

1 に答える 1