Я должен передать массив через cURL в PHP, и одним из элементов в массиве должна быть подпись, сгенерированная с помощью MD5 при объединении элементов массива и открытого ключа:
// public key
$key = '4d7894219f3d28a6fbb8c415779dfffc';
// payload; each item was initialized
$vars = array(
'id'=>$id,
'name'=>$name,
'phone'=>$phone,
'email'=>$email,
'subject'=>$subject,
'notes'=>$notes,
'time'=>date('Y-m-d H:m:s'),
);
// Now create a HTTP query with the items of the array
$caesar = '';
foreach ($vars as $key2 => $value) {
$caesar = $caesar . $key2 . '=' . $value . '&';
}
unset($key2);
unset($value);
$caesar = substr($caesar, 0, -1);
// Concatenate the string from step 2 and $key (string then $key)
$caesar = $caesar . $key;
//MD5
$signature = md5($caesar);
Позже я добавляю sig в массив и использую cURL для передачи массива. Но сервер продолжает возвращать «неверную подпись». Я не вижу, что не так. Пожалуйста, помогите мне определить проблему. Спасибо.