2016-05-04 18 views
0

私はそれにwoo commerceがインストールされたウェブサイトを持っています。私は現在、オンラインストアとして使用しています。しかし、私は、人々がアプリケーションにサインインし、サインインし、商品を購入することができるように、ウェブサイトのアプリ版を作りたいと思っています。パスワードはどのように暗号化されますか?

私は商取引で暗号化されたのと同じ方法でユーザーのパスワードを暗号化しなければならないと考えました。そのため、アプリケーションから送信されたパスワードは、

問題は、私はコマースが自分のパスワードをどのように暗号化しているのかわからず、検索してみましたが、何も得られませんでした。

同じパスワードで2つのアカウントを作成するまでWordPressとWooは同じ方法で暗号化されたパスワードを商業的に利用していましたが、WordPressから1つとWoo Commerceを通じて1つずつ、自分のハッシュがデータベース上で異なっていました。

誰かが私がすでに持っているうわー商取引ログインシステムをやめずに、2人の同じパスワードハッシャーを持つ方法を見つけ出すのを助けてくれたら、嬉しく思っています。

別の方法:誰かが自分のパスワードを暗号化するために使用するphpファイルの場所を教えてもらえると面白いですね!

ありがとうございます。

+1

なぜあなた自身の*ファイルへのアクセス権を与えるために他の人が必要ですか? –

+0

私はそれがあるかどうかわからないので:D – Luid

+0

私はそれが今変更されたテキストで間違ってどのようになったのかを見てください – Luid

答えて

0

woo commerceとWordPressは同じパスワードハッシャー(この場合はphpass)を使用することが判明しました。

ただし、パスワードハッシャーでは同じパスワードを同じ方法で2回ハッシュしません。プレーンテキストで与えられたパスワードが暗号化されたパスワードと同じであるかどうかを確認する唯一の方法は、特別な機能を実行することです。

この場合phpassのための特別な機能は「checkpasswordを」です:例では

$correct = 'original password here'; 
$hash = 'some hashed password (eg. $P$BzunkYjtVU1F6Derj3.2sNslS.4jL6/)'; 
$check = $t_hasher->CheckPassword($correct, $hash); 

if ($check){ 
    echo "The passwords are the same"; 
}else 
    echo "The passwords are not the same"; 

それは彼らが同じであると確認するために、ハッシュに対するプレーンテキストのパスワードをチェックします。詳細についてはphpassのダウンロードフォルダにある 'test.php'ファイルを参照してください。

私の場合は、phpassをダウンロードして 'checkpassword'機能を実装するだけでした。

1

これは、あなたが誰かのパスワードを変更した後、あなたがwp_users表を見ると、彼らのuser_passフィールドは$P$BCaLL1.Kcf3mWvwhEvQedwyX.etREw.見えるように起こっている...どうやら

コメントを長すぎました。 $P$は、PHPassがパスワードを生成したことを示すフラグです。次の8文字のBCaLL1.Kは、すべてのユーザーに固有のランダムな塩です。残りの文字は、ハッシュ関数を実行した結果(bcrypt)、パスワードを何度でも実行し、ハッシュを再度実行するたびに値に塩を追加します。

平文の中の塩がセキュリティ上のリスクであると思うかもしれませんが、レコードごとに一意の塩を持つと、パスワードを解読するのが難しくなり、毎回ハッシュアルゴリズムを実行し、計算コストがかかります。

元の質問にお答えするには、wp_hash_password()関数を使用してください。あなたはそれがどのようにPHPassと相互作用してハッシュを生成するかを見ることができます。

+0

Daveさん、ありがとうございます。私はそれを考え出した。 – Luid

関連する問題