flask_bcryptでパスワードを暗号化する方法

はじめに

flaskでログイン画面を作成する際、パスワードを入力して正しければログインを認証し、間違っていれば弾く必要がある。パスワードは暗号化してデータベースに登録する。そこで使用するのが暗号化関数のbcryptである。

使い方

暗号化メソッドgenerate_password_hash()と確認メソッドcheck_passwoed_hash()は下記のように使う。

from flask_bcrypt import Bcrypt

bcrypt = Bcrypt()  # Bcryptオブジェクトの作成

pd = 'test1234'    # パスワード
hashed_pd = bcrypt.generate_password_hash(password=pd)  # 暗号化

val = input('パスワードを入力してください: ')
check = bcrypt.check_password_hash(hashed_pd, val)  # 確認。第一引数が暗号化された値で第二引数が平文。

if(check):
    print("正解")
else:
    print("不正解")

参考にしたサイト

Flaskで作るSNS Flask(Blueprint,bcrypt)編 - Qiita