首页  ·  知识 ·  云计算
用文件来存储配置信息
网友    综合  编辑:dezai   图片来源:网络
把配置信息节作为类的属性,构造成一个可序列化的配置类(ConfigSetting);配置类->二进制序列化->加密->存储成文件(Config.ini)。读取配置节信息时,可读取文件流->解密->反序列化->配置类

把配置信息节作为类的属性,构造成一个可序列化的配置类(ConfigSetting);

配置类->二进制序列化->加密->存储成文件(Config.ini)。

读取配置节信息时,可读取文件流->解密->反序列化->配置类。

 

 

代码:

配置类:

[Serializable]
   public class ConfigSettings{-------}

 

保存:

序列化到内存流:

//obj is ConfigSettings Class
MemoryStream ms = new MemoryStream();
BinaryFormatter serializer = new BinaryFormatter();
serializer.Serialize(ms, obj );
byte[] SourceByteArray = ms.ToArray();
ms.Close();
 
加密:
DESCryptoServiceProvider des = new DESCryptoServiceProvider();                
MemoryStream msEncrypt = new MemoryStream();
CryptoStream cs = new CryptoStream(msEncrypt, des.CreateEncryptor(key,IV), CryptoStreamMode.Write );
cs.Write(SourceByteArray, 0, SourceByteArray.Length );
cs.FlushFinalBlock();
byte[] byteEncrypt = msEncrypt.ToArray();
cs.Close();
把byteEncrypt写入文件;
 

读取:

解密

//source:read file byte[]
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(key,IV), CryptoStreamMode.Write );
cs.Write(source, 0, source.Length );
cs.FlushFinalBlock();
cs.Close();

反序列化

 byte[] byteDecrypt = ms.ToArray();
 MemoryStream msDecrypt = new MemoryStream( byteDecrypt );
 BinaryFormatter serializer = new BinaryFormatter();
 Object obj = serializer.Deserialize( msDecrypt );
 msDecrypt.Close();

obj 即为配置类(ConfigSetting)转换一下即可使用。

本文作者:网友 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读