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)
new { method = "tgl", language = "EN", product_type = "384", platform = "html5", client_type = "web", game_type = "RNG"}
var dectest = "{\"method\":\"crsv\",\"product_type\":384,\"ref_nos\":[\"24284701\",\"24284711\"],\"reservation_details\":[{\"amount\":1,\"username\":\"f8jiahongthb\",\"additionalInformation\":{\"order_no\":\"TI02250966EAZ1T9B\"},\"ref_no\":\"24284701\"},{\"amount\":1,\"username\":\"f8jiahongthb\",\"additionalInformation\":{\"order_no\":\"TI02250966EAZ1TLB\"},\"ref_no\":\"24284711\"}]}";
var decTextBox = JsonConvert.SerializeObject(configs);
Console.WriteLine(decTextBox);
Console.WriteLine(dectest);
DESCrypt des = new DESCrypt(desKey);
String encryptedParams = des.encrypt(dectest);
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();