想将一个程序需要的参数存在外部文件中,希望外部文件里面的数据存成那种乱码形式的。主要是为了防止客户随便改数据。求思路。
因为第一次接触这方面的东西,希望可以给个提示,如何实现.
叩谢!

解决方案 »

  1.   

    将数据加密再存入, 读取时解密. 我这有一个利用GZIP算法将数据压缩与解压的示例, 供你参考:#region Using directivesusing System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;
    using System.IO.Compression;#endregionnamespace Compressor
    {
       class Program
       {
          static void SaveCompressedFile(string filename, string data)          //文件名, 传入的数据
          {
             FileStream fileStream =
                new FileStream(filename, FileMode.Create, FileAccess.Write);
             GZipStream compressionStream =
                new GZipStream(fileStream, CompressionMode.Compress);           //GZIP算法, 可用DeflateStream(Deflate算法)替换GZipStream
             StreamWriter writer = new StreamWriter(compressionStream);
             writer.Write(data);                                                //写入数据
             writer.Close();
          }      static string LoadCompressedFile(string filename)                     //从指定的文件名中恢复数据
          {
             FileStream fileStream =
                new FileStream(filename, FileMode.Open, FileAccess.Read);
             GZipStream compressionStream =
                new GZipStream(fileStream, CompressionMode.Decompress);         //CompressionMode.Decompress为解压, Compress为压缩
             StreamReader reader = new StreamReader(compressionStream);
             string data = reader.ReadToEnd();
             reader.Close();
             return data;
          }      static void Main(string[] args)
          {
             try
             {
                string filename = "compressedFile.txt";            Console.WriteLine(
                   "Enter a string to compress (will be repeated 1000 times):");
                string sourceString = Console.ReadLine();
                StringBuilder sourceStringMultiplier =
                   new StringBuilder(sourceString.Length * 100);
                for (int i = 0; i < 100; i++)
                {
                   sourceStringMultiplier.Append(sourceString);
                }
                sourceString = sourceStringMultiplier.ToString();
                Console.WriteLine("Source data is {0} bytes long.", sourceString.Length);            SaveCompressedFile(filename, sourceString);                                 //压缩数据
                Console.WriteLine("\nData saved to {0}.", filename);            FileInfo compressedFileData = new FileInfo(filename);
                Console.WriteLine("Compressed file is {0} bytes long.",
                                  compressedFileData.Length);            string recoveredString = LoadCompressedFile(filename);                      //解压数据
                recoveredString = recoveredString.Substring(0, recoveredString.Length/100);
                Console.WriteLine("\nRecovered data: {0}", recoveredString);            Console.ReadKey();
             }
             catch (IOException ex)
             {
                Console.WriteLine("An IO exception has been thrown!");
                Console.WriteLine(ex.ToString());
                Console.ReadKey();
             }
          }
       }
    }