How can I change the default wordpress password hashing system to something custom?

Just figured it out. So thought to leave the solution here, if someone else need it:

To change the default hashing system, need to overwrite wp_hash_password() function: (can be done in a plugin)

if ( !function_exists('wp_hash_password') ){
    function wp_hash_password($password) {
                //apply your own hashing structure here
            return $password;
    }
}

Now you will need to overwrite wp_check_password() to match your hashing structure: (can be done in a plugin as well)

if ( !function_exists('wp_check_password') ){
    function wp_check_password($password, $hash, $user_id = '') {
            //check for your hash match
            return apply_filters('check_password', $check, $password, $hash, $user_id);
            }
}

Please check wp_check_password

Leave a Comment