using System.Security.Cryptography;
public static void Main()
DateTime dtFirst=new DateTime(2020,01,01,0,0,0,DateTimeKind.Utc);
TimeSpan currentTs = DateTime.UtcNow - dtFirst;
var requestTimeStamp = Convert.ToUInt64(currentTs.TotalSeconds);
Console.WriteLine(requestTimeStamp);
reqInfo req = new reqInfo(){
DOB ="1997-08-11T00:00:00",
ContactNumber ="7942379388",
IFSCCode = "ICIC0001688",
PrimaryAddressLine1 ="12344",
PrimaryArea ="KUKATPALLY",
PrimaryTown ="HYDERABAD",
PrimaryPostcode ="500072",
string data = JsonConvert.SerializeObject(req);
byte[] byteArray = Encoding.UTF8.GetBytes(data);
var hash = ComputeMD5Hash(byteArray);
string requestContentBase64String = string.Empty;
requestContentBase64String = Convert.ToBase64String(hash);
Console.WriteLine(requestContentBase64String);
string nonce = Guid.NewGuid().ToString("N");
string APPId = "4d53bce03ec34c0a911182d4c228ee6c";
string reqmethod = "POST";
string AbsoluteUri = "https://staging.allcloud.in/apiv2zavron/api/Customer/SaveCustomerData";
string requestUri = HttpUtility.UrlEncode(AbsoluteUri.ToLower());
string requestdata = String.Format("{0}{1}{2}{3}{4}{5}", APPId, reqmethod, requestUri, requestTimeStamp, nonce, requestContentBase64String);
string SecretToken = "1b2c7e13-1327-4b9e-9609-77929e068444";
string UserToken = "fddf9052-494a-4ea8-b818-c31ee5ce784f";
System.Diagnostics.Debug.WriteLine(requestdata);
var secretKeyBytes = Encoding.ASCII.GetBytes(SecretToken);
byte[] signature = Encoding.UTF8.GetBytes(requestdata);
byte[] signatureBytes = null;
using (HMACSHA256 hmac = new HMACSHA256(secretKeyBytes))
signatureBytes = hmac.ComputeHash(signature);
string AuthHeader = String.Concat("amx " + APPId, ":", Convert.ToBase64String(signatureBytes), ":", nonce, ":", requestTimeStamp, ":", UserToken);
Console.WriteLine(AuthHeader);
public static byte[] ComputeMD5Hash(byte[] httpContent)
using (MD5 md5 = MD5.Create())
if (httpContent.Length != 0)
hash = md5.ComputeHash(httpContent);
public int CustomerId {get; set;}
public string FirstName {get; set;}
public string LastName {get; set;}
public string DOB {get; set;}
public string ContactNumber {get; set;}
public string FatherName {get; set;}
public int Gender {get; set;}
public string IFSCCode {get; set;}
public string BankName {get; set;}
public string PrimaryAddressLine1 {get; set;}
public string PrimaryArea {get; set;}
public string PrimaryTown {get; set;}
public string PrimaryPostcode {get; set;}
public string PrimaryStateId {get; set;}