using System.Security.Cryptography;
using System.Threading.Tasks;
private static string desKey = "uHqE9UPg";
private static string signKey = "dHQpuYMf2YDwT5ip";
private static string merchantCode = "fun88vndks";
public void Main(string[] args)
var dectest = "{\"method\":\"crsv\",\"product_type\":384,\"ref_nos\":[\"10411\",\"10412\",\"10413\",\"10414\"],\"reservation_details\":[{\"ref_no\":\"10411\",\"username\":\"F8JiaHongthb\",\"amount\":0,\"additionalInformation\":{\"order_no\":\"Testing11\"}},{\"ref_no\":\"10412\",\"username\":\"F8JiaHongthb\",\"amount\":0,\"additionalInformation\":{\"order_no\":\"Testing12\"}},{\"ref_no\":\"10413\",\"username\":\"F8JiaHongthb\",\"amount\":10,\"additionalInformation\":{\"order_no\":\"Testing13\"}},{\"ref_no\":\"10414\",\"username\":\"F8JiaHongthb\",\"amount\":10,\"additionalInformation\":{\"order_no\":\"Testing14\"}}]}";
var dectest1 = "{\"method\":\"db\",\"product_type\":384,\"transactions\":[{\"ref_no\":\"10401\",\"username\":\"F8JiaHongthb\",\"amount\":10,\"tx_type\":\"WIN\",\"remarks\":\"testing\",\"additionalInformation\":{\"order_no\":\"Testing1\"}},{\"ref_no\":\"10402\",\"username\":\"F8JiaHongthb\",\"amount\":10,\"tx_type\":\"WIN\",\"remarks\":\"testing\",\"additionalInformation\":{\"order_no\":\"Testing2\"}},{\"ref_no\":\"10403\",\"username\":\"F8JiaHongthb\",\"amount\":10,\"tx_type\":\"WIN\",\"remarks\":\"testing\",\"additionalInformation\":{\"order_no\":\"Testing3\"}},{\"ref_no\":\"10404\",\"username\":\"F8JiaHongthb\",\"amount\":10,\"tx_type\":\"WIN\",\"remarks\":\"testing\",\"additionalInformation\":{\"order_no\":\"Testing4\"}}]}";
var dectest2 = "{\"method\":\"rsv\",\"product_type\":384,\"transactions\":[{\"ref_no\":\"10411\",\"username\":\"F8JiaHongthb\",\"amount\":10,\"tx_type\":\"WIN\",\"remarks\":\"testing\",\"additionalInformation\":{\"order_no\":\"Testing11\"}},{\"ref_no\":\"10412\",\"username\":\"F8JiaHongthb\",\"amount\":10,\"tx_type\":\"WIN\",\"remarks\":\"testing\",\"additionalInformation\":{\"order_no\":\"Testing12\"}},{\"ref_no\":\"10413\",\"username\":\"F8JiaHongthb\",\"amount\":10,\"tx_type\":\"WIN\",\"remarks\":\"testing\",\"additionalInformation\":{\"order_no\":\"Testing13\"}},{\"ref_no\":\"10414\",\"username\":\"F8JiaHongthb\",\"amount\":10,\"tx_type\":\"WIN\",\"remarks\":\"testing\",\"additionalInformation\":{\"order_no\":\"Testing14\"}}]}";
var dectest3 = "{\"method\":\"cr\",\"product_type\":384,\"transactions\":[{\"ref_no\":\"10411\",\"username\":\"F8JiaHongthb\",\"amount\":10,\"tx_type\":\"LOSE\",\"remarks\":\"testing\",\"additionalInformation\":{\"order_no\":\"Testing11\"}},{\"ref_no\":\"10412\",\"username\":\"F8JiaHongthb\",\"amount\":10,\"tx_type\":\"WIN\",\"remarks\":\"testing\",\"additionalInformation\":{\"order_no\":\"Testing12\"}},{\"ref_no\":\"10413\",\"username\":\"F8JiaHongthb\",\"amount\":10,\"tx_type\":\"WIN\",\"remarks\":\"testing\",\"additionalInformation\":{\"order_no\":\"Testing13\"}},{\"ref_no\":\"10414\",\"username\":\"F8JiaHongthb\",\"amount\":10,\"tx_type\":\"WIN\",\"remarks\":\"testing\",\"additionalInformation\":{\"order_no\":\"Testing14\"}}]}";
Console.WriteLine(dectest3);
DESCrypt des = new DESCrypt(desKey);
String encryptedParams = des.encrypt(dectest3);
var JsonTextBox = encryptedParams;
String sign = HashUtil.sha256(encryptedParams + signKey);
String data = "merchant_code=" + HttpUtility.UrlEncode(merchantCode)
+ "¶ms=" + HttpUtility.UrlEncode(encryptedParams)
+ "&sign=" + HttpUtility.UrlEncode(sign);
public DESCrypt(String key)
public void setKey(String key)
public string encrypt(string input)
byte[] s = Encoding.UTF8.GetBytes(input);
public string desEncrypt(byte[] value)
byte[] toEncryptArray = value;
keyArray = UTF8Encoding.UTF8.GetBytes(key);
DESCryptoServiceProvider tdes = new DESCryptoServiceProvider();
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = tdes.CreateEncryptor();
byte[] resultArray = cTransform.TransformFinalBlock
(toEncryptArray, 0, toEncryptArray.Length);
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
private static String SHA_256 = "SHA-256";
public static String sha256(String input)
return hash(input, SHA_256);
private static String hash(String input, String hashAlgorithm)
SHA256 sha256 = new SHA256CryptoServiceProvider();
byte[] inputBytes = Encoding.UTF8.GetBytes(input);
byte[] outputBytes = sha256.ComputeHash(inputBytes);
string resultSha256B = BitConverter.ToString(outputBytes).Replace("-", "").ToLower();