Bandicoot
@Bandicoot
Вась-программист

Почему функция md5 выдает разный результат с одним и тем же набором данных?

Есть следующий набор данных:
$merchantId = '123456';
$amount = '100';
$secretKey = 'dfy739';
$orderId = '50';


С ним я генерю подпись следующим образом:
md5($merchantId .':'. $amount .':'. $secretKey .':'. $orderId);


Суть: мы для тестов эмулируем отправление данных по платежу платежной системе, затем эмулируем callback от нее. Соответственно генерим подпись 2 раза: при отправлении данных, как бы за платежную систему и при вызове коллбека, чтобы сверить 2 подписи.

Вся беда в том, что эти 2 подписи не совпадают с одним и тем же набором данных. Все данные я принудительно перевожу к строковому типу, но это не помогает. Подпись в обоих случаях генерируется одним и тем же методом. Причем эта проблема только на тестовом сервере, на локальной машине все ОК.

Может ли здесь быть зависимость от окружения? Вопрос может ламерский, но я уже мучаюсь не один час(
  • Вопрос задан
  • 141 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы