Поэтому я использую REST API, где API выдает запрос POST на мой сервер в формате JSON.Ниже приведена информация, которую он отправляет:
info: {
id: "9890dsds8",
number: 5,
amount: 33
},
sig: "8jhjbhb78979899h"
sig - это подпись информации SHA1, которую следует использовать для проверки сообщения.Например, мы можем проверить информацию в Ruby с помощью (как указано в их примере):
require 'json'
require 'cgi'
require 'digest/sha1'
key = "some_key"
params = CGI::parse(post_body)
digest = Digest::SHA1.hexdigest(params["info"]+key)
if digest == params["sig"]
# Valid signature
info = JSON.parse(params["info"])
# Respond with status code 200 and some unique_id
else
# Invalid signature. You should response with a non-200 response code.
end
Unique_id должен быть строкой символов UTF8 длиной не более 50 символов и должен быть единственным содержимымтело вашего ответа.
Хотя я вполне могу понять, что происходит, я не совсем в состоянии понять все.Главным образом, может быть потому, что это в Ruby.
Может кто-нибудь помочь мне, как это сделать в PHP?Я не могу обработать этот запрос JSON POST в PHP.PHP-версия фрагмента будет чрезвычайно полезна.Я также не уверен, как обращаться с аспектами SHA1 в PHP, требуются ли какие-либо специальные знания?
Спасибо большое !!