C 3DES encryption and decryption algorithm instance code


The C# class is as follows:

using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
using System.IO;
namespace ConsoleApplication1
{
    /// <summary>
    ///  Encryption class
    /// </summary>
    public class EncryptHelper
    {
       
        // structure 1 Symmetric algorithm
        private SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider();
        #region  Encryption and decryption function
        /// <summary>
        ///  Encryption of strings
        /// </summary>
        /// <param name="Value"> The string to encrypt </param>
        /// <param name="sKey"> Key, must be 32 position </param>
        /// <param name="sIV"> Must be a vector 12 A character </param>
        /// <returns> An encrypted string </returns>
        public string EncryptString(string Value, string sKey,string sIV)
        {
            try
            {
                ICryptoTransform ct;
                MemoryStream ms;
                CryptoStream cs;
                byte[] byt;
                mCSP.Key = Convert.FromBase64String(sKey);
                mCSP.IV = Convert.FromBase64String(sIV);
                // Specifies the operation mode for encryption
                mCSP.Mode = System.Security.Cryptography.CipherMode.ECB;
                // Gets or sets the population mode of the encryption algorithm
                mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
                ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);// Creating an encrypted object
                byt = Encoding.UTF8.GetBytes(Value);
                ms = new MemoryStream();
                cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
                cs.Write(byt, 0, byt.Length);
                cs.FlushFinalBlock();
                cs.Close();
                return Convert.ToBase64String(ms.ToArray());
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.Message, " abnormal ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return ("Error in Encrypting " + ex.Message);
            }
        }
        /// <summary>
        ///  Decrypt string
        /// </summary>
        /// <param name="Value"> An encrypted string </param>
        /// <param name="sKey"> Key, must be 32 position </param>
        /// <param name="sIV"> Must be a vector 12 A character </param>
        /// <returns> The decrypted string </returns>
        public string DecryptString(string Value, string sKey, string sIV)
        {
            try
            {
                ICryptoTransform ct;// Encryption conversion operation
                MemoryStream ms;// The memory stream
                CryptoStream cs;// The data stream is connected to the data encryption conversion stream
                byte[] byt;
                // will 3DES The key is converted to byte
                mCSP.Key = Convert.FromBase64String(sKey);
                // will 3DES I'm going to convert the vector theta to theta byte
                mCSP.IV = Convert.FromBase64String(sIV);
                mCSP.Mode = System.Security.Cryptography.CipherMode.ECB;
                mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
                ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);// Create a symmetric decryption object
                byt = Convert.FromBase64String(Value);
                ms = new MemoryStream();
                cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
                cs.Write(byt, 0, byt.Length);
                cs.FlushFinalBlock();
                cs.Close();
                return Encoding.UTF8.GetString(ms.ToArray());
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.Message, " abnormal ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return ("Error in Decrypting " + ex.Message);
            }
        }
        #endregion
    }
}

The method is as follows:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            EncryptHelper helper = new EncryptHelper();
            // encryption
            string oldValue = "13800138000";
            // Encrypted result
            // The key , Must be 32 position
            string sKey = "qJzGEh6hESZDVJeCnFPGuxzaiB7NLQM5";
            // Must be a vector 12 A character
            string sIV = "andyliu1234=";
            //print
            string newValue =  helper.EncryptString(oldValue,sKey,sIV);
            Console.WriteLine(" encrypted :"+ newValue);
            // decryption
            string desValue = helper.DecryptString(newValue,sKey,sIV);
            //
            Console.WriteLine(" decrypted :"+ desValue);
            Console.ReadLine();
        }
    }
}