Вход | Регистрация

1С:Предприятие ::

Метки: 

Помогите перевести код из C# в 1С

Я
   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));
}
////////////////////////


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

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


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует