パスワードハッシュを計算する

Flaskを使ってページ単位でBasic認証を設定する際のパスワードリストが前回生のパスワードを直接ファイルに記述していましたが、これをハッシュで記載するように修正します。

python3 の仮想環境作成

今回のPCはOSをインストールし直した環境です。ですので、仮想環境を用意するところから始めます。といっても、説明は省略します。ついでに、今回使うライブラリ(werkzeug)までインストールしてしまいます。

~$ mkdir python
~$ cd python/
~/python$ sudo apt-get install python3-venv
~/python$ python3 -m venv pytest
~/python$ cd pytest/
~/python/pytest$ source ./bin/activate
(pytest) ~/python/pytest$ python -V
Python 3.6.9
(pytest) ~/python/pytest$ pip install --upgrade pip
(pytest) ~/python/pytest$ pip install werkzeug

Werkzeugでハッシュ値を計算する

今回使用するライブラリは werkzeug というものです。wUSGI をインストールすると一緒に入るようですが、手元のPCには wUSGI は入っていないので、インストールする必要がありました。

で、対話的にハッシュ値を計算して、検算してみます。

(pytest) ~/python/pytest$ python3
Python 3.6.9 (default, Jul 17 2020, 12:50:27) 
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from werkzeug.security import generate_password_hash, check_password_hash
>>> generate_password_hash("GoodPassword")
'pbkdf2:sha256:150000$1AVzDmpB$2687453800736d0569477851b960ea158dc16949a3b3d9c317c8d212fbac4400'
>>> check_password_hash('pbkdf2:sha256:150000$1AVzDmpB$2687453800736d0569477851b960ea158dc16949a3b3d9c317c8d212fbac4400',"GoodPassword")
True
>>> check_password_hash('pbkdf2:sha256:150000$1AVzDmpB$2687453800736d0569477851b960ea158dc16949a3b3d9c317c8d212fbac4400',"BadPassword")
False
>>>

このハッシュ値をパスワードリストに貼っておけばOKです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)