2017-06-09 2 views
0

からパスワードハッシュを取得します。は、次のように私はPHPでパスワードを生成していますMySQLの

今、私はそれを取得したいと思います。 私はハッシュ+ソルトパスワードを使用していましたが、ソルトオプションを削除したいと思います。 作成したパスワードをPHPでどのように取得できますか?

+0

単純なSELECTハ​​ッシュFROMテーブルクエリで取得する必要があります。あなたは、自動塩で漂ってはいけません。私はあなたの質問に何かが欠けているように感じます。 – ceejayoz

+6

あなたが求めているのであれば、パスワードを元に戻すことはできません。ハッシュは一方向です。 'password_verify()'を使って、ユーザが入力した値があなたの格納された値と一致するかどうかを調べます。 –

+0

ハッシュされたパスワードの暗号を解除しますか?できません。それは塩漬けのハッシュを使用する全体のポイントです。あなたがそれを行うことができれば、潜在的な攻撃者もそうすることができます。 – rickdenhaan

答えて

2

[OK]をクリックします。片方向の暗号化技術であるハッシュ(ハッシュ+ソルト)として生のパスワードを再度取得することはできません(誰も生のパスワードと誤用を読むことができないはずです)。それがうまくいくのは、ユーザーがパスフレーズを入力してログインするときに、同じ暗号化アルゴリズム(格納中に続いている)が、そこからハッシュを作成するために従うことです。比較がハッシュとハッシュの間で行われ、有効なセッショントークンが取得されます。

は今、あなたが暗号化 アルゴリズムや塩を変更したい場合は、質問に来て、ユーザーが古い 暗号アルゴでログインできるようにする必要があります。あなたがしなければならないことは、古いユーザーのパスワードハッシュを新しいパスワードハッシュに徐々に移行させることです( )。唯一のオプションは です。ユーザーが入力したときの生のパスが取得されます。 の場合は古いパスワードであることを確認してください。 互換性のあるアルゴリズムでログインし、パスワードを暗黙的に暗号化します。 新しい塩で。

0

平文のパスワードを取得することはできません。あなたのケースでは、Webサイトがアップし、人々がそれを使用している場合には、パスワードがあなたの新しいハッシュを使用して、データベース内のユーザーのパスワードを更新するために検証した後、あなたが機能を追加することができます

しかし 。 データベースにフィールドを追加するだけで、どのパスワードが更新されるのかを知ることができます。

+1

平文パスワードを取得できないのは不幸ではありません。 **意図**です。 – Martin

関連する問題