C#對文件進行加密解密代碼

ybny 9年前發布 | 2K 次閱讀 C#

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();

}

}</pre>
解密代碼如下

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();

}

}</pre>

 本文由用戶 ybny 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!