返回顶部

收藏

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

    }

}

解密代码如下```csharp 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#

收藏

0人收藏

支持

0

反对

0

发表评论