private static string _text;
        /// <summary>
        /// 要加解密的字符串
        /// </summary>
        public static string Text
        {
            set { CryptoString1._text = value; }
        }
        private static string _key;
        /// <summary>
        /// 加密的密钥
        /// </summary>
        public static string Key
        {
            set { CryptoString1._key = value; }
        }
        /// <summary>
        /// DES加密
        /// </summary>
        /// <returns></returns>
        public static string DESEncrypt0String()
        {
            //将密钥Key转换为字节数组
            byte[] iKey = Encoding.Default.GetBytes(_key);
            //将传递的字符创转化为字节数组
            byte[] iText = Encoding.Default.GetBytes(_text);
            //创建一个内存流
            MemoryStream ms = new MemoryStream();
            //创建一个加密对象实例
            DESCryptoServiceProvider des = new DESCryptoServiceProvider();
            des.Key = iKey;
            des.Mode = CipherMode.ECB;//选择加密模式为ECB模式
            //使用密钥Key创建一个加密流
            CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
            //将字节数组写入加密流并清空缓冲区
            cs.Write(iText, 0, iText.Length);
            cs.FlushFinalBlock();
            //得到加密后的字节数组
            byte[] EncryptString = ms.ToArray();
            //将加密后的字节数组转化为字符串并返回
            return Convert.ToBase64String(EncryptString);
        }
        /// <summary>
        /// DES解密
        /// </summary>
        /// <returns></returns>
        public static string DESDecryptString()
        {
            //将密钥Key转换为字节数组
            byte[] iKey = Encoding.Default.GetBytes(_key);
            //将加密后的字符串转化为字节数组
            byte[] iText = Encoding.Default.GetBytes(_text);
            //创建一个内存流
            MemoryStream ms = new MemoryStream();
            //创建加密对象实例
            DESCryptoServiceProvider des = new DESCryptoServiceProvider();
            des.Key = iKey;
            des.Mode = CipherMode.ECB;
            //使用密钥key创建一个解密流
            CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
            //将字节数组写入解密流并清空缓冲区
            cs.Write(iText, 0, iText.Length);
            cs.FlushFinalBlock();
            //得到解密后的字节数组
            byte[] DecryptoString = ms.ToArray();
            //将解密后的字节数组转化为字符串并返回
            return Convert.ToBase64String(DecryptoString);
        }
为什么加密没有问题
解密就会报"不正确的数据"这个错误。