教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> .NET类 >> ASP.NET >> DataSet的加密解密 RSS订阅
DataSet的加密解密
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
      最近在一个工程中需要对DataSet进行加密,然后以文件形式传输后在另一端解密还原。于是查询了一些资料,发现多是对字符串和文件加密的方法。于是只好自力更生,参考.net的对称加密技术和网上的一些资料,研究出了DataSet的加密方法。
    代码比较简单,附下:
 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[] {11239310272411812};
23         //获取或设置对称算法的初始化向量
24         private static byte[] DESIV = new byte[] {75158469778571736};
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
        小结:关于对称加密算法,大家可以参考微软的资料和网上的资料,这里就不多做解释了。下面是源代码文件,里面还包含有字符串和文件加密的方法,当然那些是别人的代码。
/Files/zjzkiss/ClsDoCode.rar


来源:upschool.com.cn
作者:
关键字:DataSet,加密解密
发表日期:2006-6-12

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:ORM的讨论   下一篇:ASP.NET 2.0 中使用自定义缓存依赖


2008-12-4 7:05:03
本文的相类似文章
  • 如何对字符串进行加密解密
  • DataSet 添加数据集、行、列、主键和外键等操作示例
  • xmlHTTP xmlDOC 与 C#中DataSet的结合 实现AJAX简单示例
  • Object/DataSet Relational Mapping(对象/数据集关系映射1
  • Object/DataSet Relational Mapping(对象/数据集关系映射2
  • JAVASCRIPT加密解密终级指南
  • VS2005中使用强类型DataSet简化开发
  • 数据库连接字符串的处理方法!加密解密连接字符串
  • 在JSP中实现DES加密解密的例子
  • 关于DataSet与Strongly typed DataSet几点思考
  • 在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com