在开发应用程序时。一些如连接串,数据库密码,公司名称,等比较固定的信息,用什么方式保存呢?
放在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文件来保存!

解决方案 »

  1.   

    肯定可以写到xml中
    然后自己在加密一下xml文件
      

  2.   

    写到xml文件,需要保密的字符串就加一下密
      

  3.   

    .net提供了一个加密保存config的方法:
    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;    
      

  4.   

    对不起 注释错了
    textBox1.Text  应该是 textBox3.Text  呵呵
      

  5.   

    加密之后存到app.config里面
    其他配置信息放在ini文件里面
      

  6.   

    多谢pinglan()我已试了你的方 法!
    要是对其他文件。如.ini和dat中的数据来加密。又如何呢?
      

  7.   

    要是对其他文件。如.ini和dat中的数据来加密。又如何呢?
    --------------------------
    可以用一些现成的加密算法加密(如:DES )  加密后的字符串存入ini 需要使用的时候 从ini中取出  然后 解密。