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);
  }
为什么加密没有问题
解密就会报"不正确的数据"这个错误。