加密文件

时间:2016-05-24 07:45:28

标签: c# installshield

我使用rijndael加密方法加密配置文件,以保证客户端系统的安全。但是在加密之后,当生成新文件时,它会附带管理员凭据,但我无法读取它。

 public  void EncryptFile(string inputFile, string outputFile)
    {

        try
        {
            string password = @"myKey"; // Your Key Here
            UnicodeEncoding UE = new UnicodeEncoding();
            byte[] key = UE.GetBytes(password);

            string cryptFile = outputFile;
            FileStream fsCrypt = new FileStream(cryptFile, FileMode.Create);

            RijndaelManaged RMCrypto = new RijndaelManaged();

            CryptoStream cs = new CryptoStream(fsCrypt,
                RMCrypto.CreateEncryptor(key, key),
                CryptoStreamMode.Write);

            FileStream fsIn = new FileStream(inputFile, FileMode.Open);

            int data;
            while ((data = fsIn.ReadByte()) != -1)
                cs.WriteByte((byte)data);


            fsIn.Close();
            cs.Close();
            fsCrypt.Close();
            FileInfo fi = new FileInfo(inputFile);
            fi.Delete();
        }
        catch
        {
            Console.WriteLine("Encryption failed!", "Error");
        }
    }

我正在使用这种方法。当我在构建模式下运行它时,它可以正常工作,但是当我创建一个设置时,它会失败,并创建带有管理员凭证的加密文件,我无法读取。我正在使用Install Shield 2013限量版。

0 个答案:

没有答案