using System.Security.Cryptography;
public static void Main()
Console.WriteLine(DecryptData("5CE1E516D6D5B215", "0123456789abcdef"));
public static byte[] HexStringToByteArray(String hex)
int NumberChars = hex.Length;
byte[] bytes = new byte[NumberChars / 2];
for (int i = 0; i < NumberChars; i += 2) {
bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
public static string ByteArrayToHexString(byte[] bytes)
StringBuilder hexString = new StringBuilder(bytes.Length * 2);
for (int i = 0; i < bytes.Length; i++)
hexString.Append(bytes[i].ToString("X2"));
return hexString.ToString();
public static string DecryptData(string strData, string strKey)
byte[] IV = { 10, 20, 30, 40, 50, 60, 70, 80 };
key = HexStringToByteArray(strKey);
Console.WriteLine(key.Length);
DESCryptoServiceProvider ObjDES = new DESCryptoServiceProvider();
ObjDES.Padding = PaddingMode.None;
var inputByteArray = HexStringToByteArray(strData);
MemoryStream Objmst = new MemoryStream();
CryptoStream Objcs = new CryptoStream(Objmst, ObjDES.CreateDecryptor(key, key), CryptoStreamMode.Write);
Objcs.Write(inputByteArray, 0, inputByteArray.Length);
Encoding encoding = Encoding.UTF8;
var x= ByteArrayToHexString(Objmst.ToArray());
var y = ASCIIEncoding.ASCII.GetString(Objmst.ToArray());
var z = ASCIIEncoding.UTF8.GetString(Objmst.ToArray());
var ddz = Encoding.UTF8.GetString(Objmst.ToArray());
Console.WriteLine(x,y,z,ddz);
return ByteArrayToHexString(Objmst.ToArray());
catch (System.Exception ex)