How To Migration All User From Cs Cart To Wordpress With Same Password

Hello

Can someone tell me how to move all users from the CS-Cart to Wordpress with the same password? The important is to keep all users with the same password.

My website has around 17000 users.

My website is hosted in Godaddy with linux server.

If need pay, please tell me how much cost for this service and how long will be finish.

Thank in advance!

Franck

I am afraid it is not possible since CS-Cart stores encoded with "salt" passwords

Hi Ecomlabs

Thank

Hello,

You could alter the user_login function and copy the class from wordpress into there. This will allow you to keep the same password.

hook: 'compare_login_password_pre' and 'compare_login_password_post'

For more information, contact us at sales@poppedweb.com.

Kind regards,

You could alter the user_login function and copy the class from wordpress into there. This will allow you to keep the same password.

How this can help? Please clarify your idea

How this can help? Please clarify your idea

Well, you could copy the password check function from wordpress into that hook, effectively keeping the same hash. Therefore users would be able to keep their passwords.

You can get this class overhere: https://github.com/WordPress/WordPress/blob/master/wp-includes/class-phpass.php

And the function looks as follows:

function wp_check_password($password, $hash, $user_id = '') {
    global $wp_hasher;
// If the hash is still md5...
if ( strlen($hash) <= 32 ) {
    $check = hash_equals( $hash, md5( $password ) );
    if ( $check && $user_id ) {
        // Rehash using new hash.
        wp_set_password($password, $user_id);
        $hash = wp_hash_password($password);
    }

    /**
     * Filters whether the plaintext password matches the encrypted password.
     *
     * @since 2.5.0
     *
     * @param bool       $check    Whether the passwords match.
     * @param string     $password The plaintext password.
     * @param string     $hash     The hashed password.
     * @param string|int $user_id  User ID. Can be empty.
     */
    return apply_filters( 'check_password', $check, $password, $hash, $user_id );
}

// If the stored hash is longer than an MD5, presume the
// new style phpass portable hash.
if ( empty($wp_hasher) ) {
    require_once( ABSPATH . WPINC . '/class-phpass.php');
    // By default, use the portable hash from phpass
    $wp_hasher = new PasswordHash(8, true);
}

$check = $wp_hasher->CheckPassword($password, $hash);

/** This filter is documented in wp-includes/pluggable.php */
return apply_filters( 'check_password', $check, $password, $hash, $user_id );

}

Thank you. It is clear now