2017-05-31 11 views
0

私はbcryptを使ってユーザー名のパスワードを暗号化するWebページを持っており、これらのパスワードはデータベースに保存されています。 QTで実行しているC++プログラムでは、ユーザーを認証する必要があります。これを行うには、ユーザーが入力したパスワードを暗号化し、データベースのパスワードと比較する必要があります。これは正しい方法ですか?もしそうなら、私はこれをどのように達成するのですか?ユーザーが入力したパスワードの暗号化は、bcryptのパスワードと同じでなければならないでしょう。これはどうすればいいですか?前もって感謝します。bcryptで暗号化されたパスワードの比較

+0

おそらくhttps://stackoverflow.com/questions/35590105/authentication-with-bcrypt-hashed-passwordの複製 – volatilevar

+1

[bcryptハッシュパスワードによる認証]の可能な複製(https://stackoverflow.com/questions/) 353590105/authentication-with-bcrypt-hashed-password) – 1615903

答えて

2

実際にパスワードを暗号化しないのは、復号化できるためです。それを行う正しい方法は、パスワードハッシュとハッシュ値を格納することです。ユーザーがパスワードを入力すると、その値がハッシュされ、保存されたハッシュ値と比較されます。ハッシュ関数が一方向関数(非可逆)であるため、これは正しい方法です。hereを参照してください。

ハッシュ方式は、誰かがパスワードを復号化できないようにします。 SHA-2やSHA-3のような安全なハッシュ関数を処理する必要があります。なぜなら、いくつかのハッシュ関数は安全ではないからです。list of broken hash functionsを参照してください。

+1

OPには用語が混乱していますが、bcryptは実際にはハッシュ関数です。 – 1615903

関連する問題