Имя: Пароль:
1C
 
Помогите перевести код из C# в 1С
,
0 Tutoff
 
16.12.17
06:46
Здравствуйте!

Очень туго знаком с другими языками, а на 1С не доводилось проходить такую процедуру никогда.
Код авторизации и POST запроса на C# (доступен и на других языках: ПХП, Ява и тд.)

string apiKey = "key";
string apiSecret = "secret";
string requestUri = "https://www.aaa.ru/api/uriZapros";;
var postData = new
{
    StateInp = "InpID"
};

// Create Request
var request = new HttpRequestMessage();
request.Method = HttpMethod.Post;
request.RequestUri = new Uri(requestUri);
request.Content = new ObjectContent(typeof(object), postData, new JsonMediaTypeFormatter());

// Authentication
string requestContentBase64String = string.Empty;
if (request.Content != null)
{
   // Hash content to ensure message integrity
   using (var md5 = MD5.Create())
   {
      requestContentBase64String = Convert.ToBase64String(md5.ComputeHash(await request.Content.ReadAsByteArrayAsync()));
   }
}

//create random nonce for each request
var nonce = Guid.NewGuid().ToString("N");

//Creating the raw signature string
var signature = Encoding.UTF8.GetBytes(string.Concat(apiKey, HttpMethod.Post, HttpUtility.UrlEncode(request.RequestUri.AbsoluteUri.ToLower()), nonce, requestContentBase64String));
using (var hmac = new HMACSHA256(Convert.FromBase64String(apiSecret)))
{
   request.Headers.Authorization = new AuthenticationHeaderValue("amx", string.Format("{0}:{1}:{2}", apiKey, Convert.ToBase64String(hmac.ComputeHash(signature)), nonce));
}
////////////////////////

Вот это чудо. Запутался уже совсем.
1 DDwe
 
16.12.17
07:06
(0) Тебе оно зачем?
2 Tutoff
 
16.12.17
07:31
Торговый робот. С С# на 1С переехать хочу.
3 Tarzan_Pasha
 
16.12.17
07:50
упал с этажа.
4 DDwe
 
16.12.17
08:00
(2) Переезжай.
5 Tutoff
 
16.12.17
08:15
Спасибо.
6 DDwe
 
16.12.17
08:34
ТС интересный такой, ни в языках не понимает, ни в программировании... переведите ему )))
7 Tutoff
 
16.12.17
09:17
Да мне только с подписью HMACSHA256 не понятно, а остальное сделано.
8 Tutoff
 
16.12.17
09:43
hmacsignature = base64.b64encode(hmac.new(base64.b64decode( API_SECRET ), signature, hashlib.sha256).digest())

Вот такое как сделать?
9 DDwe
 
16.12.17
09:45
(8) Сделать что?
10 Tutoff
 
16.12.17
09:53
В 1С написать. Есть АПИСекрет, есть сигнатура.
Как сделать хмак из них по СХА-256?
11 Адинэснег
 
16.12.17
09:55
B64 - Base64Строка() из встроенного
HMAC http://catalog.mista.ru/public/591665/
12 Tutoff
 
16.12.17
10:00
о как. Спасибо.
13 Serginio1
 
16.12.17
12:50