| 
    
            
         
         | 
    
  | 
Помогите перевести код из 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 
 | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |