Pythonでpasslibを用いてPBKDF2-SHA256アルゴリズムを使用してハッシュ化したパスワードを検証する

スポンサーリンク

Pythonでpasslibを用いてPBKDF2-SHA256アルゴリズムを使用してパスワードをハッシュ化し、ハッシュ化したパスワードをverify()で検証してみます。

今回はpasslibを用います。このライブラリ・モジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■passlibを用いてPBKDF2-SHA256アルゴリズムを使用してハッシュ化したパスワードを検証する

では、早速passlibを用いてPBKDF2-SHA256アルゴリズムを使用してハッシュ化したパスワードを検証するスクリプトを書いていきます。

■コード

from passlib.hash import pbkdf2_sha256

hash = pbkdf2_sha256.hash("password1234")

print(pbkdf2_sha256.verify("password1234",hash))

print(pbkdf2_sha256.verify("faketest1234",hash))

「from import」でpasslib.hashのpbkdf2_sha256を呼び出します。その後、hashという変数を定義し、pbkdf2_sha256.hash()を用います。括弧内に引数,パラメータとして、パスワードを渡します。今回は仮で設定したパスワード「password1234」を渡します。これでPBKDF2-SHA256アルゴリズムを使用してパスワードがハッシュ化され、ハッシュ化された値をhash変数に格納します。

格納後、pbkdf2_sha256.verify()を用います。括弧内に第1の引数,パラメータとしてパスワードを渡します。次に第2の引数,パラメータとしてハッシュ化された値が格納されているhash変数を渡します。ハッシュ化したパスワードの検証が行われ結果が返されます。返された結果をprint()で出力させます。なお、今回は検証のために、異なるパスワードもpbkdf2_sha256.verify()の引数,パラメータとして渡しています。

■実行・検証

このスクリプトを「pass_hash_verification.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみると、pbkdf2_sha256.verify()の引数,パラメータで、ハッシュ化される前のパスワードを渡した場合は「True(真)」と出力され、異なるパスワードを引数,パラメータとして渡した場合は「False(偽)」と出力され、パスワードの検証が行われたことが確認できました。

コメント

タイトルとURLをコピーしました