求此解密函数的加密部分

问题遇到的现象和发生背景

此段代码为某程序解密函数,求转换为加密函数

问题相关代码
public static string Decrypt(string Text, string sKey = "")
{
    DESCryptoServiceProvider dESCryptoServiceProvider = new DESCryptoServiceProvider();
    int num = Text.Length / 2;
    byte[] array = new byte[num];
    for (int i = 0; i < num; i++)
    {
        int num2 = Convert.ToInt32(Text.Substring(i * 2, 2), 16);
        array[i] = (byte)num2;
    }
    dESCryptoServiceProvider.Key = Encoding.ASCII.GetBytes(MD5(sKey).Substring(0, 1));
    dESCryptoServiceProvider.IV = Encoding.ASCII.GetBytes(MD5(sKey).Substring(0, 1));
    MemoryStream memoryStream = new MemoryStream();
    CryptoStream cryptoStream = new CryptoStream(memoryStream, dESCryptoServiceProvider.CreateDecryptor(), CryptoStreamMode.Write);
    cryptoStream.Write(array, 0, array.Length);
    cryptoStream.FlushFinalBlock();
    return Encoding.Default.GetString(memoryStream.ToArray());
}

public string Encrypt(string stringToEncrypt, string sKey)
    {
        DESCryptoServiceProvider des = new DESCryptoServiceProvider();
        byte[] inputByteArray = Encoding.GetEncoding("UTF-8").GetBytes(stringToEncrypt);
        dESCryptoServiceProvider.Key = Encoding.ASCII.GetBytes(MD5(sKey).Substring(0, 1));
        dESCryptoServiceProvider.IV = Encoding.ASCII.GetBytes(MD5(sKey).Substring(0, 1));
        MemoryStream ms = new MemoryStream();
        CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);

        cs.Write(inputByteArray, 0, inputByteArray.Length);
        cs.FlushFinalBlock();

        StringBuilder ret = new StringBuilder();
        foreach (byte b in ms.ToArray())
        {
            ret.AppendFormat("{0:X2}", b);
        }
        ret.ToString();
        return ret.ToString();
    }

有没有解密前和解密后的对比例子?最好提供几组,好让人知道写的对不对呀