Password is similar as the only key to home which preserves mysterious and meaningful things. With different algorithm, users’ passwords in most of different platforms have to be stored in other encryption way. This is primary reason why even professionals cannot ensure to keep all users’ passwords after migration from platform to another.

1. Is It Possible To Migrate Customer Password?

As you know that each platform will use a different encryption algorithm . Assume you want to migrate Customers Password from website A to website B (A and B using 2 difference platforms). Encrypted Password in A after being copied and stored on the database of B will not work because B uses different encryption algorithms from A (except Zen-Cart and Magento uses the same encryption algorithm ).

Normally, some companies do migration services will not resolve this problem and they will advise you: asking your customers to use Password Recovery function to reset their Password. If you are a professional store owner you will not be satisfied with this solution because it is troublesome for your clients.

The question is : Is there a solution that can migrate passwords from website A to website B and customers could still use the old passwords of A to log in to B? Is this an impossible mission?

2. What About Your Customers?

Imagine one day your key was suddenly lost and then no way for you to go home, how angry would you feel? It is customer’s attitude when backing to your store and realizing that their password disappears. That’s good, you can send email to all of them then explain and guide how to recover their accounts. Some of them may say “No problem” and some (maybe more) do not want to waste time and will never back to your online store anymore.

In fact, Litextension team have had a quick online and offline survey with 1,000 random shoppers and approximately 85% of them show their complete dissatisfaction with this problem. It means that they can come to another better one and you lose a number of potential customers. Remember that the factor influencing directly your business’s prosperity is CUSTOMER. Care their thinking and demands is you are caring your business. It is estimated that after online store migration without customer password integration, revenue goes down about 70% on average. Too risky for your business! Therefore, if your enterprise is really pro now or just tends to be in near future, you won’t prefer that way for sure. So, what e-commerce website owners should do?

3. Make impossible become possible!

Just since a pair of years ago, lots of experts or migration providers have publicly affirmed that NO WAY TO TRANSFER CUSTOMER PASSWORD BETWEEN TWO OTHER PLATFORMS. At that time, when other companies seemed to give up, Litextension developers still devoted themselves to research and try variety of methods to “make impossible become possible”. It is obvious that Litextension team’s patience inspired others to pursue the study of password migration.

Your desire is to satisfy customers, and ours is, too. E-commerce stores owners are our customers. Therefore, even after releasing all migration tools, Litextension team still go on researching and improving tool functions.
customer password migration

4. How many stores LitExtension can migrate Customers Password?

Currently, LitExtension is supporting migrating users’ password from the following platforms to Magento, WooCommerce, PrestaShop and OpenCart.

Platforms Magento WooCommerce PrestaShop OpenCart
Cart66
CS-Cart
CubeCart
OpenCart
Interspire
LoadedCommerce
Prestashop
Magento
osCommerce
OXID-eShop
UberCart
VirtueMart
WooCommerce
WP-eCommerce
WP-eStore
xt:Commerce
Zen-Cart

5. How to migrate password successfully

5.1. How To Download Customer Password Migration Plugin

The plugin is available for download below. Please ensure your cart is in the above list.

5.2. How to Install

Before installing, please be noted that:

  • The plugin should be installed only to the Target Cart
  • We recommend to keep Password Migration plugin activated till all of your customers log in at least once. Afterwards, it can be disabled or deleted.
  • For additional information about your Password Migration, please do not hesitate to Contact Us for further assistance.

To set up the plugin, you should download the Password Migration Plugin package above, extract it and follow the set up guide below:

5.2.1 For Magento Platform

  • Step 1: Access to Magento store by using FTP program and upload ‘LitExtension’ folder to your Magento /app/code folder. This will not overwrite any existing files, just upload the new folder to the folder root.
  • Step 2: In SSH console of your server navigate to your store root folder
    cd path_to_the_store_root_folder
    	run these commands:
    	php bin/magento module:enable LitExtension_CustomerPassword
    	php bin/magento setup:upgrade
    }
    

5.2.2 For WooCommerce Platform

  • Step 1: Extract the folder leprespass into /wp-content/plugins/leprespass
  • Step 2: Activate the module in WordPress backend

5.2.3 For Prestashop Platform

  • Step 1: Upload the folder “lecmprepass” to your Prestashop “modules” folder. This will not overwrite any existing files, just upload the new folder to the folder root.
  • Step 2: Go to Back Office -> Select on tab ‘Improve’ -> ‘Modules’ -> Module Catalog -> Module Catalog
  • Step 3: Search for the keyword : ‘LitExtension Customer Password Plugin’ , click ‘Install’

5.2.4 For OpenCart Platform

  • Step 1: Upload all file and folder in “upload” to root OpenCart
  • Step 2: Copy file “system/library/cart/customer.php(version > 2.3) to DIR_STORAGE/system/library/cart/customer.php(defined in config.php) OR system/library/customer.php(version < 2.2) to DIR_STORAGE/system/library/customer.php(defined in config.php)” and edit this file.
    //if version 3.x part1
    		====================Change==================================
    		...
    		public function __construct($registry) {
    		...
    		====================To======================================
    		private $registry; // add this line before function __construct
    		public function __construct($registry) {
    			$this->registry = $registry;// and add this line inside function __construct
    
    	//end if version 3.x part1
    
    
    ====================Change==================================
    
    	public function login($email, $password, $override = false) {
    		if ($override) {
    			$customer_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer WHERE LOWER(email) = '" . $this->db->escape(utf8_strtolower($email)) . "' AND status = '1'");
    		} else {
                        $customer_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer WHERE LOWER(email) = '" . $this->db->escape(utf8_strtolower($email)) . "' AND (password = SHA1(CONCAT(salt, SHA1(CONCAT(salt, SHA1('" . $this->db->escape($password) . "'))))) OR password = '" . $this->db->escape(md5($password)) . "') AND status = '1' AND approved = '1'");
    		}
                    .....
    		
    	}
    
        	====================To======================================
    
    	public function login($email, $password, $override = false) {
    		if ($override) {
    			$customer_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer WHERE LOWER(email) = '" . $this->db->escape(utf8_strtolower($email)) . "' AND status = '1'");
    		} else {
    		// start change if version 2.x
    		    	global $loader, $registry;
    		    	$loader->model('litextension/leocpass');
    		    	$model = $registry->get('model_litextension_leocpass');
    		    	$model->checkpassword($email, $password);
    		// end change  version 2.x
    		// start change if version 3.x part2
    			$loader = $this->registry->get('load');
    			$loader->model('litextension/leocpass');
    			$model = $this->registry->get('model_litextension_leocpass');
    			$model->checkpassword($email, $password);
    		// end change version 3.x part2	
    		    $customer_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer WHERE LOWER(email) = '" . $this->db->escape(utf8_strtolower($email)) . "' AND (password = SHA1(CONCAT(salt, SHA1(CONCAT(salt, SHA1('" . $this->db->escape($password) . "'))))) OR password = '" . $this->db->escape(md5($password)) . "') AND status = '1' AND approved = '1'");
    		}
    
    		......
    	}
    

Once installed, the plugin is already active and your customers can sign in normally to your new site with their passwords.

6. Technical Support

For any question, bug report, plugin request, please drop us a message with your detailed info at: http://litextension.com/contacts, or email us: contact@litextension.com
We are striving to get your issue solved within 24 hours.

Author

Since 2011, I founded LitExtension Solutions offering shopping cart migration service including Magento, WooCommerce, Shopify,... LitExtension has been the leading provider of automated Shopping Cart Migration Service in the world with more than 20,000 global customers and we have delivered 30,000+ successful migrations to our customers over the past 5 years.

Write A Comment