Magento Importer les clients avec mots de passe déjà cryptés en MD5
Vous voulez migrer votre site ecommerce vers une plateforme Magento ? Et vous vous demandez comment importer vos clients ?
L’idéal est de pouvoir utiliser l’assistant Import / Export customers déjà prévu dans Magento. Nous avions vu comment créer votre fichier CSV prêt à l’import via une requête SQL.
Cependant cette méthode ne permettait pas de récupérer des mots de passe déjà cryptés en MD5.
Nous avons finalement trouvé une solution toute simple permettant de garder vos mots de passe MD5 et évitant donc de réinitialiser tous les mots de passe !
Voici la solution, il suffit d’ajouter « : » après votre MD5.
Si l’on reprend notre exemple de requête SQL voici ce qu’il faut ajouter :
SELECT
"base" AS website,
old_table_user.user_email AS email,
"Client" AS group_id,
old_table_user.first_name AS firstname,
old_table_user.last_name AS lastname,
CONCAT_WS(':',old_table_user.password,'')AS password_hash,
// aura pour effet d'ajouter ':' à votre md5 (ex : 1f3870be274f6c49b3e31a0c6728957f:)
old_table_user.first_name AS billing_firstname,
old_table_user.last_name AS billing_lastname,
old_table_user.address_1 AS billing_street_full,
old_table_user.city AS billing_city,
"FR" AS billing_country,
old_table_user.zip AS billing_postcode,
CONCAT_WS(' ',old_table_user.phone_1,old_table_user.phone_2) AS billing_telephone,
old_table_user.company AS billing_company,
old_table_user.fax AS billing_fax,
old_table_user.first_name AS shipping_firstname,
old_table_user.last_name AS shipping_lastname,
old_table_user.address_1 AS shipping_street_full,
old_table_user.city AS shipping_city,
"FR" AS shipping_country,
old_table_user.zip AS shipping_postcode,
CONCAT_WS(' ',old_table_user.phone_1,old_table_user.phone_2) AS shipping_telephone,
old_table_user.company AS shipping_company,4ème étape : Import le fichier CSV dans Magento
old_table_user.fax AS shipping_fax,
"default" AS "created_in",
"Client" AS "group",
old_table_user.newsletter AS "is_subscribed"
FROM old_table_user
Reprennez ensuite la fin du tutoriel présent à cette adresse : http://www.creation-site-lyon.com/2010/06/16/import-des-clients-dune-plateforme-ecommerce-vers-une-plateforme-magento/
En espérant que celà pourra vous être utile !

Oui, cette astuce fonctionne bien et reste la seule pour ne pas imposer la modification du mot de passe aux clients.
Cependant, il faut ajouter un détail très important : en faisant cela, on supprime une couche de sécurité de Magento. Les mots de passe créés par Magento sont « salés » avec d’être cryptés en MD5. Une chaîne aléatoire vient modifier le mot de passe pour que le MD5 ne soit pas réversible (il existe des bases de données pour retrouver un mot de passe depuis le MD5…).
Les deux points (:) servent précisément à séparer la chaîne cryptée en MD5 et le sel qui modifie le mot de passe. Si le sel est vide, il y a un risque.
J’avais écrit un article sur le sujet, il y a quelques temps :
http://blog.christophelebot.fr/2007/11/27/md5-reversible/
C’est ce qui a poussé Magento a ajouté un peu de sel