Я пытаюсь подключиться к API, который использует устаревший механизм аутентификации хэша hmac для API.
Для экземпляра:
$signature = hash_hmac('sha256', $string_to_sign, $api_sec);
против сгенерированного в Go:
h := hmac.New(sha256.New, []byte(authSecret))
h.Write([]byte(stringToSign))
signature := hex.EncodeToString(h.Sum(nil))
Когда я использую ту же stringToSign($string_to_sign)
и такую же authSecret($api_sec)
подписьгенерируется с результатами Go в качестве недопустимой подписи для API.Но если я создаю то же самое с помощью функции PHP, она работает нормально.Я немного растерялся относительно того, где искать.