UNIXパスワードをチェックするPython関数
UNIXパスワードを確認するには、cryptモジュールを使用する必要があります。 crypt(3)ルーチンがあります。これは基本的に、修正されたDESアルゴリズムに基づく一方向ハッシュ関数です。
cryptモジュールを使用するには、を使用してインポートする必要があります。
import crypt
メソッドcrypt.crypt(word、salt)
このメソッドは2つの引数を取ります。最初のものは言葉であり、2番目のものは塩です。単語は基本的にユーザーパスワードであり、プロンプトに表示されます。塩はランダムな文字列です。これは、4096の方法のいずれかでDESアルゴリズムを混乱させるために使用されます。ソルトには、大文字、小文字、数値、および「/」、「。」文字のみが含まれます。
このメソッドは、ハッシュ化されたパスワードを文字列として返します。
サンプルコード
import crypt, getpass, spwd def check_pass(): username = input("Enter The Username: ") password = spwd.getspnam(username).sp_pwdp if password: clr_text = getpass.getpass() return crypt.crypt(clr_text, password) == password else: return 1 if check_pass(): print("The password matched") else: print("The password does not match")
出力
(ルートレベルの権限でこのプログラムを実行する)
$ sudo python3 example.py Enter The Username: unix_user Password: The password matched
-
Pythonのissubset()関数
この記事では、Python標準ライブラリで利用可能なissubset()関数の実装と使用法について学習します。 issubset()メソッドは、セットのすべての要素が別のセットに存在する場合(引数として渡される場合)はブール値のTrueを返し、それ以外の場合はブール値のFalseを返します。 下の図では、BはAのサブセットです。AとBが同一のセットである場合、AはBの適切なサブセットであることを意味します。これは、両方のセットに同じ要素が含まれていることを意味します。 構文 <set 1>.issubset(<set 2>) 戻り値 boolean True/
-
Intersection()関数Python
この記事では、任意のセットで実行できるintersection()関数について学習します。数学によると、共通部分とは、2つのセットから共通の要素を見つけることを意味します。 構文 <set name>.intersection(<set a1> <set a2> ……..) 戻り値 引数として渡されるセット内の共通要素。 例 set_1 = {'t','u','t','o','r','i','a','l&