In cryptography, Triple DES (3DES or TDES) is a symmetric-key block cipher, which applies the DES cipher algorithm three times to each data block.

https://en.wikipedia.org/w/index.php?title=Triple_DES&oldid=995820064

To use 3DES functionality first off all we need to include “System.Security.Cryptography”.

```using System.Security.Cryptography;
```

Then we should create and adjust an object which will do encryption:

```var tdese = TripleDES.Create();
tdese.Mode = CipherMode.ECB;
tdese.Key = ConvertHexStringToByteArray("AABBCCDDEE11223344556677889900FF");
var encryptor = tdese.CreateEncryptor();
```

“ConvertHexStringToByteArray” function to convert hex string to byte array:

```  public static byte[] ConvertHexStringToByteArray(string hexString)
{
if (hexString.Length % 2 != 0)
{
throw new ArgumentException(String.Format(CultureInfo.InvariantCulture, "The binary key cannot have an odd number of digits: {0}", hexString));
}

byte[] HexAsBytes = new byte[hexString.Length / 2];
for (int index = 0; index < HexAsBytes.Length; index++)
{
string byteValue = hexString.Substring(index * 2, 2);

if (byteValue == "  ")
{
HexAsBytes[index] = Convert.ToByte("32");
}
else
{
HexAsBytes[index] = byte.Parse(byteValue, NumberStyles.HexNumber, CultureInfo.InvariantCulture);
}
}

return HexAsBytes;
}
```

Source code below shows how to use object “encryptor” to encrypt the file “FileToEncrypt.txt”.

```byte[] result = null;
using (var mse = new MemoryStream())
{
using (var cs = new CryptoStream(mse, encryptor, CryptoStreamMode.Write))
cs.Write(data, 0, data.Length);

result = mse.ToArray();
}

if (result != null)
{
string encrypteddata = UTF8Encoding.Default.GetString(result);
File.AppendAllText("OutputFileName" + ".enc", encrypteddata, UTF8Encoding.Default);
}
```

With this code we can store our file “FileToEncrypt.txt” encrypted as “OutputFileName.enc”. Decryption can be done with “tdese.CreateDecryptor();”.