DtaSet的加密解密

1  using System;
2  using System.Collections;
3  using System.Security.Cryptography;
4  using System.IO ;
5  using System.Data;
6  using System.XML.Serialization;
7  namespace zjz.ClsDoCode
8  {
9      /**//**//**//// <summary>
10    /// ClsEncryption 的摘要说明。
11    /// </summary>
12     public class ClsEncryption
13    {
14        public ClsEncryption()
15         {
16             //
17            // TODO: 在此处添加构造函数逻辑
18             //
19         }
20         //密钥
21        //获取或设置对称算法的机密密钥。机密密钥既用于加密,也用于解密。为了保证对称算法的安全,必须只有发送方和接收方知道该机密密钥。有效密钥大小是由特定对称算法实现指定的,密钥大小在 LegalKeySizes 中列出。
22         private static byte[] DESKey = new byte[] {11, 23, 93, 102, 72, 41, 18, 12};
23         //获取或设置对称算法的初始化向量
24         private static byte[] DESIV = new byte[] {75, 158, 46, 97, 78, 57, 17, 36};
25
26          /**//**//**//// <summary>
27         /// 加密DataSet
28        /// </summary>
29         /// <param name="objDataSet"></param>
30        /// <param name="outFilePath"></param>
31        public static void EncryptDataSetToXML(DataSet objDataSet,string outXMLFilePath)
32        {
33            DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
34            FileStream fout = new FileStream(outXMLFilePath, FileMode.OpenOrCreate, FileAccess.Write);
35            //用指定的 Key 和初始化向量 (IV) 创建对称数据加密标准 (DES) 加密器对象
36            CryptoStream objCryptoStream = new CryptoStream(fout, objDES.CreateEncryptor(DESKey, DESIV), CryptoStreamMode.Write);
37            StreamWriter objStreamWriter = new StreamWriter(objCryptoStream);
38            XMLSerializer objXMLSer = new XMLSerializer(typeof(DataSet));
39            objXMLSer.Serialize(objStreamWriter, objDataSet);
40            objStreamWriter.Close();
41
42        }
43        public static DataSet DecryptDataSetFromXML(string inXMLFilePath)
44        {
45            DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
46            FileStream fin = new FileStream(inXMLFilePath, FileMode.Open , FileAccess.Read );
47            //用指定的 Key 和初始化向量 (IV) 创建对称数据加密标准 (DES) 加密器对象
48           CryptoStream objCryptoStream = new CryptoStream(fin, objDES.CreateDecryptor(DESKey, DESIV), CryptoStreamMode.Read);
49            TextReader objTxrReader = new StreamReader(objCryptoStream);
50            XMLSerializer objXMLSer = new XMLSerializer(typeof(DataSet));
51            DataSet ds = (DataSet)objXMLSer.Deserialize(objTxrReader);
52            return ds;
53        }
54    }
55}
56

文章来自: 网络
引用通告: 查看所有引用 | 我要引用此文章
Tags: DtaSet
相关日志:

评论: 0 | 引用: 0 | 查看次数: 7015
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 开启