Exacto, @angelseller lo ha clavado. @guillermostore13, el problema principal es la confusión sobre qué recibe checkPassword y cómo funciona el hashing en PrestaShop 1.7.2.4.
La función checkPassword siempre espera la contraseña en texto plano. Lo que hace PrestaShop es hashearla con la _COOKIE_KEY_ de la tienda actual usando Tools::hash($passwd) y luego la compara con el valor passwd almacenado en la base de datos. Si estás intentando importar directamente hashes antiguos que no incluyen la _COOKIE_KEY_ de la nueva tienda o que usaban un algoritmo completamente diferente (como un simple md5 sin clave), nunca van a coincidir.
Para que la migración funcione correctamente, necesitas que las contraseñas se re-hasheen con la _COOKIE_KEY_ de la nueva tienda. Una forma común de manejar esto, especialmente para contraseñas de versiones muy antiguas que usaban md5 directamente, es interceptar el proceso de autenticación. Si el checkPassword estándar falla, intentas con el hash antiguo y, si coincide, actualizas la contraseña del cliente al formato actual de PS 1.7.2.4.
Aquí te muestro cómo podrías ajustar el override en /override/classes/Customer.php. Este código intenta primero la validación estándar de PS 1.7 y, si falla, prueba con un md5 simple (sin _COOKIE_KEY_) y actualiza la contraseña si coincide:
class Customer extends CustomerCore
{
public function checkPassword($passwd)
{
// 1. Intentar con el hashing actual de PrestaShop 1.7.2.4
if (parent::checkPassword($passwd)) {
return true;
}
// 2. Si no coincide, intentar con un hash MD5 simple (común en versiones muy antiguas)
// Ojo: esto es menos seguro y solo para compatibilidad inicial.
Este snippet permite que los clientes con contraseñas md5 simples de versiones muy antiguas puedan iniciar sesión una vez, y en ese momento su contraseña se actualiza automáticamente al formato de PS 1.7.2.4. Para una migración más robusta, que no dependa de overrides frágiles y sea compatible con futuras actualizaciones de PrestaShop, lo ideal es usar una solución dedicada que se encargue de automatizar migrar clientes con contraseñas en la tienda de manera segura y eficiente, manejando diferentes tipos de hashing sin tocar el core.