Generating x_fp_hash using C#

To generate x_fp_hash using C# please see the code below:

using System;
using System.Security;
using System.Security.Cryptography;
using System.Text;

class CalculateHash {

 static void Main() {
   StringBuilder sb = new StringBuilder();
   // x_login^x_fp_sequence^x_fp_timestamp^x_amount^x_currency
   String x_login = "WSP-ACTIV-70";
   String x_fp_sequence = "123";
   String x_fp_timestamp = "1228774539";
   String x_amount = "100.00";
   String x_currency = ""; // default empty

   sb.Append(x_login)
     .Append("^")
     .Append(x_fp_sequence)
     .Append("^")
     .Append(x_fp_timestamp)
     .Append("^")
     .Append(x_amount)
     .Append("^")
     .Append(x_currency);

   // Convert string to array of bytes.
   byte[] data = Encoding.UTF8.GetBytes(sb.ToString());

   // key
   byte[] key =  Encoding.UTF8.GetBytes("V0WX5fK~o6eEhr7hbs3ZeyxS");

   // Create HMAC-MD5 Algorithm;
   // HMACMD5 hmac = new HMACMD5(key);

   // Create HMAC-SHA1 Algorithm;
   HMACSHA1 hmac = new HMACSHA1(key);

   // Compute hash.
   byte[] hashBytes = hmac.ComputeHash(data);

   // Convert to HEX string.
   String  x_fp_hash = System.BitConverter.ToString(hashBytes).Replace("-", "").toLower();

   String msg = String.Format("x_login = {0}, x_fp_sequence = {1}, x_fp_timestamp = {2}, x_amount = {3}, x_currency= {4}.\n x_fp_hash = {5}", x_login, x_fp_sequence, x_fp_timestamp, x_amount, x_currency, x_fp_hash);
   System.Console.WriteLine(msg);

 }
}
Have more questions? Submit a request

1 Comments

  • 0
    Avatar
    Qudoos Chaudhry

    would be nice to show what the expected result is.

Please sign in to leave a comment.
Powered by Zendesk