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

  //#CODEGO.NET#  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);

  //#CODEGO.NET#  And decrypt the data

  Console.WriteLine(sr.ReadToEnd());

  sr.Close();

 }

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章