C#实现对文件进行加密解密的方法
本文实例讲述了C#实现对文件进行加密解密的方法。分享给大家供大家参考。具体如下:
usingSystem; usingSystem.IO; usingSystem.Security.Cryptography; publicclassExample19_9 { publicstaticvoidMain() { //Createanewfiletoworkwith FileStreamfsOut=File.Create(@"c:\temp\encrypted.txt"); //Createanewcryptoprovider TripleDESCryptoServiceProvidertdes= newTripleDESCryptoServiceProvider(); //Createacryptostreamtoencrypttothefilestream CryptoStreamcs=newCryptoStream(fsOut,tdes.CreateEncryptor(), CryptoStreamMode.Write); //CreateaStreamWritertoformattheoutput StreamWritersw=newStreamWriter(cs); //Andwritesomedata sw.WriteLine("'Twasbrillig,andtheslithytoves"); sw.WriteLine("Didgyreandgimbleinthewabe."); sw.Flush(); sw.Close(); //savethekeyandIVforfutureuse FileStreamfsKeyOut=File.Create(@"c:\\temp\encrypted.key"); //useaBinaryWritertowriteformatteddatatothefile BinaryWriterbw=newBinaryWriter(fsKeyOut); //writedatatothefile bw.Write(tdes.Key); bw.Write(tdes.IV); //flushandclose bw.Flush(); bw.Close(); } }
解密代码如下:
usingSystem; usingSystem.IO; usingSystem.Security.Cryptography; publicclassExample19_10 { publicstaticvoidMain() { //Createanewcryptoprovider TripleDESCryptoServiceProvidertdes= newTripleDESCryptoServiceProvider(); //openthefilecontainingthekeyandIV FileStreamfsKeyIn=File.OpenRead(@"c:\temp\encrypted.key"); //useaBinaryReadertoreadformatteddatafromthefile BinaryReaderbr=newBinaryReader(fsKeyIn); //readdatafromthefileandcloseit tdes.Key=br.ReadBytes(24); tdes.IV=br.ReadBytes(8); //Opentheencryptedfile FileStreamfsIn=File.OpenRead(@"c:\\temp\\encrypted.txt"); //Createacryptostreamtodecryptfromthefilestream CryptoStreamcs=newCryptoStream(fsIn,tdes.CreateDecryptor(), CryptoStreamMode.Read); //CreateaStreamReadertoformattheinput StreamReadersr=newStreamReader(cs); //Anddecryptthedata Console.WriteLine(sr.ReadToEnd()); sr.Close(); } }
希望本文所述对大家的C#程序设计有所帮助。