2012-02-29 14 views
1

WordpressからCodeigniterで開発されたカスタムCMSにサイトを変換しています。私はWordpressがパスワードをハッシュするためにPHPassを使用していると言われています。パスワードをリセットしたり変更したりせずに、ユーザをシームレスに移行させるために、PHPassライブラリ(this siteで概説)を使用しています。PHPassを使用して同じパスワードハッシュを生成

私はアプリケーションでうまく動作していますが、Wordpressが使用するのと同じパスワードハッシュを生成していません。私はそれが何らかの種類のサイトキーに関連していると仮定していますが、私は運がありません。私はどのようにして同じパスワードハッシュを生成することができますか?

答えて

0

複数の可能性があります。彼らは、別のハッシュアルゴリズムを使用しているか、ハッシュをソルトしているか、その他の難読化方法を使用しています。 Wordpressがそのハッシュを塩害するならば、あなたはハッシュを変更するために自分のソルトテーブルまたはシングルソルトフレーズにアクセスしなければならないでしょう - しかし、あなたはそれを得ることはできません。私は、PHPassが他のハッシュ難読化メソッドと同様に塩害をサポートしていることを確認しました。その1つがおそらくあなたのハッシュが同一ではない理由です。

http://www.openwall.com/articles/PHP-Users-Passwords

+0

だから、基本的に私は人々をリセット/パスワードを変更するつもりですか? – Motive

+0

にPHPASSがある場合、移植性の設定があります。それが偽であれば、パスワードを取得することはできませんが、trueに設定されていればOKです。 –

8

あなたはPHPassは二度同じハッシュを生成するために取得することができなくなります - それはランダムな塩を使用しています。その塩はパスワードハッシュの中に保存されます。

あなたは本当に同じハッシュを生成する必要はありません。古いものをコピーし、パスワードを確認するためにPHPassのCheckPassword($ pass、$ hash)を使用します。 DBから$ hashというハッシュと$ passとして入力されたパスワードを与え、一致すればtrueを返します。

HashPassword()メソッドは、新しいパスワードハッシュ(新しいパスワード用)を作成するためにのみ使用され、既存のものと比較されることはありません。

関連する問題