· 6 years ago · Aug 16, 2019, 01:54 PM
1public static void Main(string[] args)
2 {
3// Int64 publicKey = 1003;
4// var encodedString = Encrypt(_text, publicKey);
5// Console.WriteLine(encodedString);
6 var userGuid = "38C58BE7-3F34-458C-9374-F65C0398A601";
7 var secretKey = "B00ADDBE86551A54851B10B30A9CCE58C07D580E";
8 var timestamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
9 var url = "http://fastoffice.ru/testwebapikalugartm/api/RMISExportPrivilegedRecipe/Ordered?beginDate=2019.02.01&endDate=2019.02.02";
10
11 var guid = Guid.NewGuid();
12
13 var dataForhashing = userGuid + "GET" + "%2fapi%2frmisexportprivilegedrecipe%2fordered%3fbegindate%3d2018.12.01%26enddate%3d2019.01.02" + timestamp + guid.ToString().ToLower();
14
15 var signature = HashHMAC(Encoding.UTF8.GetBytes(secretKey),Encoding.UTF8.GetBytes(dataForhashing));
16 var base64Sig = Convert.ToBase64String(signature);
17
18
19 var header = "38C58BE7-3F34-458C-9374-F65C0398A601:" + base64Sig + ":" + guid.ToString().ToLower() +
20 ":" + timestamp + "";
21
22 HttpClient client = new HttpClient();
23 client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("HMAC", header);
24 var req = client.GetAsync(url);
25 var resp = req.Result;
26 Console.WriteLine(resp);
27 }
28
29 private static byte[] HashHMAC(byte[] key, byte[] message)
30 {
31 var hash = new HMACSHA256(key);
32 return hash.ComputeHash(message);
33 }