如何加密解密DataSet数据集

来源:互联网 发布:c语言大于等于并小于 编辑:程序博客网 时间:2024/05/21 14:09

  private static byte[] desKey = new byte[] { 11,23,93,102,72,41,18,12};
        private static byte[] desSIV = new byte[] { 75,158,46,97,78,57,17,36};
        public static void EncryptDataSetXML(DataSet dataSet, string outXMLFilePath)
        {
            DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
            FileStream fout = new FileStream(outXMLFilePath, FileMode.OpenOrCreate, FileAccess.Write);
            CryptoStream objCryptoStream = new CryptoStream(fout, objDES.CreateEncryptor(desKey, desSIV), CryptoStreamMode.Write);
            TextWriter objTextWriter = new StreamWriter(objCryptoStream);
            XmlSerializer objXmlSerializer = new XmlSerializer(typeof(DataSet));
             objXmlSerializer.Serialize(objTextWriter,dataSet);
             objTextWriter.Close();

        }
        public static DataSet DecryptDataSetFromXML(string inXMLFilePath)
        {
            DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
            FileStream fin = new FileStream(inXMLFilePath, FileMode.Open, FileAccess.Read);
            CryptoStream objCryptoStream = new CryptoStream(fin, objDES.CreateDecryptor(desKey, desSIV), CryptoStreamMode.Read);
            TextReader objTextReader = new StreamReader(objCryptoStream);
            XmlSerializer objXmlSerializer = new XmlSerializer(typeof(DataSet));
            DataSet ds = objXmlSerializer.Deserialize(objTextReader) as DataSet;
            objTextReader.Close();
            return ds;
        }

原创粉丝点击