首页 > 编程 > C# > 正文

C#实现对文件进行加密解密的方法

2020-01-24 02:01:22
字体:
来源:转载
供稿:网友

本文实例讲述了C#实现对文件进行加密解密的方法。分享给大家供大家参考。具体如下:

using System;using System.IO;using System.Security.Cryptography;public class Example19_9{ public static void Main() {  // Create a new file to work with  FileStream fsOut = File.Create(@"c:/temp/encrypted.txt");  // Create a new crypto provider  TripleDESCryptoServiceProvider tdes =   new TripleDESCryptoServiceProvider();  // Create a cryptostream to encrypt to the filestream  CryptoStream cs = new CryptoStream(fsOut, tdes.CreateEncryptor(),   CryptoStreamMode.Write);  // Create a StreamWriter to format the output  StreamWriter sw = new StreamWriter(cs);  // And write some data  sw.WriteLine("'Twas brillig, and the slithy toves");  sw.WriteLine("Did gyre and gimble in the wabe.");  sw.Flush();  sw.Close();  // save the key and IV for future use  FileStream fsKeyOut = File.Create(@"c://temp/encrypted.key");  // use a BinaryWriter to write formatted data to the file  BinaryWriter bw = new BinaryWriter(fsKeyOut);  // write data to the file  bw.Write( tdes.Key );  bw.Write( tdes.IV );  // flush and close  bw.Flush();  bw.Close(); }}

解密代码如下:

using System;using System.IO;using System.Security.Cryptography;public class Example19_10{ public static void Main() {  // Create a new crypto provider  TripleDESCryptoServiceProvider tdes =   new TripleDESCryptoServiceProvider();  // open the file containing the key and IV  FileStream fsKeyIn = File.OpenRead(@"c:/temp/encrypted.key");  // use a BinaryReader to read formatted data from the file  BinaryReader br = new BinaryReader(fsKeyIn);  // read data from the file and close it  tdes.Key = br.ReadBytes(24);  tdes.IV = br.ReadBytes(8);  // Open the encrypted file  FileStream fsIn = File.OpenRead(@"c://temp//encrypted.txt");  // Create a cryptostream to decrypt from the filestream  CryptoStream cs = new CryptoStream(fsIn, tdes.CreateDecryptor(),   CryptoStreamMode.Read);  // Create a StreamReader to format the input  StreamReader sr = new StreamReader(cs);  // And decrypt the data  Console.WriteLine(sr.ReadToEnd());  sr.Close(); }}

希望本文所述对大家的C#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表