0

ユーザーが最初にログインする必要があるphpアプリケーションを構築しています

これらのログイン資格情報は、ワードプレスのログイン資格情報と同じになります

「user_login」と「user_pass」があるワードプレスデータベーステーブル「users」にアプリケーションを接続しようとしていますが、列「user_pass」がプレフィックス「$S$B」で暗号化されていることがわかりました。その wordpress は、復号化できない片面 md5 暗号化方式を使用しています。. .

外部アプリケーションのパスワードを検証したい

これを使ってみた

$password = clean($_POST['password']);
$pass = "$P$B" .md5($password);

しかし、これはうまくいきませんでした

誰でも私を助けてくれませんか

4

1 に答える 1

1

これまでのところ、私は wp 関数 wp_hash_password($passowrd) を使用してパスワードを暗号化しています。機能を確認してください:

/**
 * Create a hash (encrypt) of a plain text password.
 *
 * For integration with other applications, this function can be overwritten to
 * instead use the other package password checking algorithm.
 *
 * @since 2.5
 * @global object $wp_hasher PHPass object
 * @uses PasswordHash::HashPassword
 *
 * @param string $password Plain text user password to hash
 * @return string The hash string of the password
 */
function wp_hash_password($password) {
    global $wp_hasher;

    if ( empty($wp_hasher) ) {
            require_once( ABSPATH . 'wp-includes/class-phpass.php');
            // By default, use the portable hash from phpass
            $wp_hasher = new PasswordHash(8, TRUE);
    }

    return $wp_hasher->HashPassword($password);
}

関数 HashPassword($password) に従います。アプリケーションで WordPress のログイン API を使用してみてください。

于 2013-10-09T15:23:30.430 に答える