Välj Magento API. Inte nog med att du inte behöver emulera generering av hela hashen (de använder ett salt på två tecken och lägger till det i en MD5-hash), du behöver inte heller oroa dig när/om de bestämmer sig för att uppdatera databasschemat eller hashmekanismen.
Att ändra ett användarlösenord är ganska enkelt;
require_once 'app/Mage.php';
Mage::init('admin');
$customer = Mage::getModel('customer/customer')->load(123); // whatever the user ID is
$customer->changePassword('whatever_new_password');