パスワードを取得するためにデータベースにクエリを実行しています。しかし、パスワードハッシュを取得しています。文字列に変換する方法はありますか。
SELECT passwordhash FROM userTable WHERE userID = 21600
パスワードを含むフィールドはありません。
私にお知らせください。
ありがとう。
方法があったとすれば、それは壊れたハッシュ アルゴリズムが使用されていたことを意味します。つまり、いいえ、ハッシュから元のパスワードに戻る方法はありません。
ポイントは、入力したパスワードから同じアルゴリズムを使用してハッシュを生成し、それをデータベースのハッシュと比較することです。そうすれば、パスワードをデータベースに保存することで、パスワードのセキュリティを損なうことなく認証できます。
パスワードを取得するためにデータベースにクエリを実行しています。
その後、失敗するか、システムが安全ではなくなります。パスワードを可逆形式で保存しないでください。
しかし、パスワードハッシュを取得しています。
良い!これは、システムが安全に設計されていることを示しています。
パスワードハッシュを保存することの要点は、パスワード自体を元に戻すことができる形式で保存しないようにすることです。
誰かがあなたのシステムをハッキングしてすべての秘密鍵を盗んだとしても、私のパスワードを彼らに知られたくありません。彼らがハッシュを持っているだけで、ハッシュアルゴリズムが適切に選択されていれば、妥当な時間内にハッシュから元のパスワードに戻ることはできません。
同様に、システムで信頼されている人がパスワードを知ることもできなくなります。人々は (残念ながら) パスワードを再利用することに注意してください。会社 X は、パスワードが安全に保管されていないため、会社 Y がユーザーの 1 人としてログインすることを望んでいません。(残念ながら、あまりにも多くの場所が平文のパスワードを保存したり、電子メールで送信したりしていますが、これはお勧めできません。)
基本的に、一歩下がって、パスワードを取得しようとしている理由と、パスワードを必要としない別の方法を考えてください。ユーザーの平文のパスワードを取得できるようにシステムを変更することは、実行可能なオプションと見なすべきではありません。
それが本当にハッシュである場合、アルゴリズムは一方向のみであり、レインボー テーブルまたはブルートフォース ツールを使用しない限り、元のパスワードを取り戻すことはできません。