Exemple #1
0
 public static void EncryptFile(string inputFileName, string outputFileName, string algorithmName)
 {
     using (SymmetricAlgorithm algorithm = AlgorithmProvider.GetAlgorithm(algorithmName))
         using (var inputFileStream = new FileStream(inputFileName, FileMode.Open, FileAccess.Read))
             using (var outputFileStream = new FileStream(outputFileName, FileMode.OpenOrCreate, FileAccess.Write))
                 using (var cryptoStream = new CryptoStream(outputFileStream, algorithm.CreateEncryptor(), CryptoStreamMode.Write))
                     using (var streamWriter = new StreamWriter(KeyFileName))
                     {
                         inputFileStream.CopyTo(cryptoStream);
                         streamWriter.WriteLine(Convert.ToBase64String(algorithm.Key));
                         streamWriter.WriteLine(Convert.ToBase64String(algorithm.IV));
                     }
 }
Exemple #2
0
 public static void DecryptFile(string inputFileName, string outputFileName, string keyFileName, string algorithmName)
 {
     using (SymmetricAlgorithm algorithm = AlgorithmProvider.GetAlgorithm(algorithmName))
     {
         using (var streamReader = new StreamReader(keyFileName))
         {
             algorithm.Key = Convert.FromBase64String(streamReader.ReadLine());
             algorithm.IV  = Convert.FromBase64String(streamReader.ReadLine());
         }
         using (var inputStreamFile = new FileStream(inputFileName, FileMode.Open, FileAccess.Read))
             using (var cryptostream = new CryptoStream(inputStreamFile, algorithm.CreateDecryptor(), CryptoStreamMode.Read))
                 using (var outputStreamFile = new FileStream(outputFileName, FileMode.OpenOrCreate, FileAccess.Write))
                 {
                     cryptostream.CopyTo(outputStreamFile);
                 }
     }
 }