したがって、wordpress wp_user テーブルの user_pass 列にあるパスワード ハッシュを変更できるようにしたいと考えています。次のように何かを書くことができることを望んでいます:
# simplified version of what is desired.
UPDATE `wp_user` SET user_pass = MD5('123') WHERE user_email = 'some_dudes@someplace.com';
基本的に、クエリを使用して設定した後、ユーザーがサインオンフォームから入力したときにワードプレスがこのパスワードを有効として受け入れ続けるように、mysql でユーザーパスワードを設定できるようにしたいと考えています。これに関するPHPass情報とclass-phpass.php
、ワードプレスソースの内容を確認しています。私の調査によると、実行不可能ではないにしても、これは非常に複雑に思えます。私は何かを見逃していますか、それともこれは実際には困難または潜在的に難読化することを意図していますか? この機能を MySQL で複製することは可能でしょうか? どんな助けでも大歓迎です。よろしくお願いします。
進行状況に関する編集:開発レベルのセキュリティのみが必要な場合は、実際に次のものを使用できます。
UPDATE `wp_user` SET user_pass = MD5('123') WHERE id = 1342;
これが機能する理由をよりよく説明する必要があります。Wordpress は、従来の互換性の理由から、デフォルトで MD5 ハッシュになります。基本的に、パスワードがワードプレスに渡されると、ワードプレス PHPass ハッシュが実行されます。これは次のような場合に失敗しますMD5('123')
。その後、ワードプレスは、SHA1 や最後に MD5 などの他の単純なハッシュ アルゴリズムを試します。次に、これらのいずれかで一致が見つかった場合、wordpress は実際に問題のレコードのパスワード列を更新します。指定されたパスワードを PHPass に更新します。これが起こった後でも、まだ大丈夫です。これは基本的に開発環境では完全に機能しますが、PHPass の作業に一致する MySQL クエリは壮大な作業です。それをクラックしたら、それが私の次の更新になります。どうやらワードプレスはソルトが追加されたフグのハッシュを約8000回実行して、最終的なハッシュ結果を生成しているようです。