using System.Security.Cryptography;
public static void Main()
string OAuth = "b19080494f03470cbf5ce0477a88d35f ";
string dt = DateTime.Now.ToString("yyyddMMhhmmss");
string txnRefID = "2091827172626455" + DateTime.Now.ToString("yyyyddMMhhmmss");
string st = ooredooSaltKeyGenerate(OAuth, dt);
Console.WriteLine( "OAuth : "+ OAuth);
Console.WriteLine("Key : "+st);
Console.WriteLine("refID : " + txnRefID);
public static string ooredooSaltKeyGenerate(string OAuth, string dt)
string req = "REQBODY={}&SALT="+"&DT=";
for (int i = 1; i <= OAuth.Length; i++)
oddNum += OAuth.Substring(i - 1, 1);
return GenerateSHA512String(req + oddNum);
public static string GenerateSHA512String(string inputString)
SHA512 sha512 = SHA512Managed.Create();
byte[] bytes = Encoding.UTF8.GetBytes(inputString);
byte[] hash = sha512.ComputeHash(bytes);
return GetStringFromHash(hash);
private static string GetStringFromHash(byte[] hash)
StringBuilder result = new StringBuilder();
for (int i = 0; i < hash.Length; i++)
result.Append(hash[i].ToString("X2"));
return result.ToString();