我正在尝试通过 Magento Go SOAP API 对用户进行身份验证,并且在生成匹配哈希时遇到问题。根据文档,password_hash 包含密码:salt,但是当我 md5 时,它与 password_hash 不匹配。
例子:
1) 我通过管理控制面板将密码更改为“testtest”
2)运行以下代码:
$client = new SoapClient('http://XXXX.gostorego.com/api/v2_soap/?wsdl');
$session = $client->login($api_user, $api_pass);
$params = array('filter'=>array(array('key'=>'email','value'=>'user@domain.com')));
$data = $client->customerCustomerList($session, $params);
echo '<pre>CUSTOMER: '.print_r($data, true).'</pre>';
if (count($data)) {
$hash = explode(':',$data[0]->password_hash);
$salt = $hash[1];
echo '<pre>HASH PARTS:'.print_r($hash, true).'</pre>';
echo '<br>' .md5($salt.$password);
}
3) password_hash 是 f35604820826428dd7633b91cd6078f4075c9bfa1a37db7bc70f563475ad8495:qK
4) MD5 为 0b04a656c770ba2f10b5918f94529cd8