0

我正在构建一个用户需要先登录的 php 应用程序

并且这些登录凭据将与 wordpress 登录凭据相同

我正在尝试将应用程序与我们有'user_login'和'user_pass'的wordpress数据库表'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 回答