在开发应用程序时。一些如连接串,数据库密码,公司名称,等比较固定的信息,用什么方式保存呢?
放在app.config吗?
但到编译时,app.config会编成 应用程序名.exe.config的文件。是明码的啊!
这样又点样能把数据库密码存在这里呢?
再者,app.config中在程序运行时是不能改的。如保存个名称参数。在程序运行中是只读的。那么应用程序的参数信息一般用何种方式存呢?
自己写个 myApp.config成不成呢?
但最终这些信息还是要加密。
我能否写到一个XML中。
再用
MemoryStream ms = new MemoryStream(); BinaryFormatter fb = new BinaryFormatter(); fb.Serialize(ms, stream); string path = @"c:\aa3.dat";
byte[] b = ms.ToArray();
File.WriteAllBytes(path, b);
ms.Close();最终生成个 .dat文件来保存!
放在app.config吗?
但到编译时,app.config会编成 应用程序名.exe.config的文件。是明码的啊!
这样又点样能把数据库密码存在这里呢?
再者,app.config中在程序运行时是不能改的。如保存个名称参数。在程序运行中是只读的。那么应用程序的参数信息一般用何种方式存呢?
自己写个 myApp.config成不成呢?
但最终这些信息还是要加密。
我能否写到一个XML中。
再用
MemoryStream ms = new MemoryStream(); BinaryFormatter fb = new BinaryFormatter(); fb.Serialize(ms, stream); string path = @"c:\aa3.dat";
byte[] b = ms.ToArray();
File.WriteAllBytes(path, b);
ms.Close();最终生成个 .dat文件来保存!
然后自己在加密一下xml文件
config.ConnectionStrings.SectionInformation.ProtectSection(ProtectedConfiguration.DataProtectionProviderName);
实现方法:
在引用里添加.NET引用: System.Configuration
//代码开始添加引用
sing System.Configuration;//***保存并且加密 config的代码(其中textBox1.Text是你自己写的连接字符串)**
textBox3.Text = ConnectionString;
//将ConnectionString直接保存!
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConnectionStringsSection CSS = config.ConnectionStrings;
CSS.ConnectionStrings["ConnectionString"].ConnectionString = ConnectionString;
//然后加密
config.ConnectionStrings.SectionInformation.ProtectSection(ProtectedConfiguration.DataProtectionProviderName);
config.Save();
MessageBox.Show(this,"保存数据库连接配置成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);//*****这里是使用config文件的过程*******
//利用ConfigurationManager.OpenExeConfiguration找到并读取ConnectionStrings
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConnectionStringsSection CSS = config.ConnectionStrings;
//读取connectionstring,这个就是你要的连接字符串
string DBConnStr = CSS.ConnectionStrings[0].ConnectionString;
textBox1.Text 应该是 textBox3.Text 呵呵
其他配置信息放在ini文件里面
要是对其他文件。如.ini和dat中的数据来加密。又如何呢?
--------------------------
可以用一些现成的加密算法加密(如:DES ) 加密后的字符串存入ini 需要使用的时候 从ini中取出 然后 解密。