using System.Collections.Generic;
using System.Security.Cryptography;
using Newtonsoft.Json.Converters;
using System.Threading.Tasks;
using System.Net.Http.Headers;
namespace HelloWorldMvcApp
public class HomeController : Controller
public ActionResult Index()
return View(new SampleViewModel());
public JsonResult GetAnswer(string question)
var endpoint = "https://devel-api-services-connect.tunedglobal.com/api/v3/users/registerbydevice";
var authCode = string.Empty;
var uri = System.Web.HttpUtility.UrlEncode(endpoint, Encoding.UTF8);
string json = "{\"LastAppVersion\":\"1.0.10\",\"ApplicationId\":86,\"Carrier\":\"AT\",\"Country\":\"\",\"Description\":\"samsung\",\"DeviceManufacturer\":\"samsung\",\"DeviceOS\":\"Android\",\"DeviceType\":\"SM-M105F\",\"DisplayName\":\"SM-M105F\",\"Language\":\"en\",\"LoginType\":\"Device\",\"LastOSVersion\":\"7.0\",\"Password\":\"0134658f-9e01-451c-a4d4-7ece2b3ef3ba\",\"TimezoneOffset\":3,\"UniqueId\":\"24c045f5-c0ac-4faa-b9ae-a01a34fad531\"}";
byte[] content = Encoding.UTF8.GetBytes(json);
byte[] requestContentHash = md5.ComputeHash(content);
string requestContentBase64String = Convert.ToBase64String(requestContentHash);
DateTime epochStart = new DateTime(1970, 01, 01, 0, 0, 0, 0, DateTimeKind.Utc);
TimeSpan timeSpan = DateTime.UtcNow - epochStart;
string requestTimeStamp = Convert.ToUInt64(timeSpan.TotalSeconds).ToString();
string nonce = Guid.NewGuid().ToString("N");
string signatureRawData = String.Format("{0}{1}{2}{3}{4}{5}", accessKey, "PUT", uri, requestContentBase64String, nonce, requestTimeStamp);
byte[] signature = Encoding.UTF8.GetBytes(signatureRawData);
var secretKeyByteArray = Convert.FromBase64String(secretKey);
using (HMACSHA256 sha = new HMACSHA256(secretKeyByteArray))
byte[] signatureBytes = sha.ComputeHash(signature);
string requestSignatureBase64String = Convert.ToBase64String(signatureBytes);
authCode = string.Format("{0}:{1}:{2}:{3}", accessKey, requestSignatureBase64String, nonce, requestTimeStamp);
return Json(new {authCode,requestContentBase64String});
public string LastName {get;set;}
public string Country {get;set;}
public string Gender {get;set;}
public string Locale {get;set;}
public int? BirthYear {get;set;}
public string City {get;set;}
public string Ngo {get;set;}
public string Image {get;set;}