Csharp/CSharp Tutorial/Security/DES

Материал из .Net Framework эксперт
Версия от 15:17, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Secret Key Cryptography: DES

<source lang="csharp">using System; using System.IO; using System.Text; using System.Security.Cryptography;

 class Class1
 {
   static void Main(string[] args)
   {
     byte[] bin = new byte[100]; 
     FileStream fsIn = new FileStream("input.txt", FileMode.Open, FileAccess.Read);
     long rdLen = 0;
     long totLen = fsIn.Length;
     int len;
           DESCryptoServiceProvider des = new DESCryptoServiceProvider();
     des.GenerateKey();
     des.GenerateIV();
     FileStream fsOut_DES = new FileStream("outputDES.txt", FileMode.Create, FileAccess.Write);
     CryptoStream desStream = new CryptoStream( fsOut_DES, 
       des.CreateEncryptor( des.Key, des.IV ), CryptoStreamMode.Write);
     while ( rdLen < totLen )
     {
       len = fsIn.Read(bin, 0, 100);
       System.Diagnostics.Debug.WriteLine("Read " + len.ToString() + " bytes.");
       desStream.Write(bin, 0, len );
       
       rdLen += len;
       Console.WriteLine("{0} Bytes Read.", rdLen );
     }
     desStream.Close();
     fsOut_DES.Close();
     fsIn.Close();
   }
 }</source>

Secret Key Cryptography: TripleDES

<source lang="csharp">using System; using System.IO; using System.Text; using System.Security.Cryptography; class Class1 {

   static void Main(string[] args)
   {
       byte[] bin = new byte[100]; // 100 byte buffer
       FileStream fsIn = new FileStream("input.txt", FileMode.Open, FileAccess.Read);
       long rdLen = 0;
       long totLen = fsIn.Length;
       int len;
       // TripleDES
       TripleDESCryptoServiceProvider tripleDes = new TripleDESCryptoServiceProvider();
       tripleDes.GenerateIV();
       tripleDes.GenerateKey();
       FileStream fsOut_3Des = new FileStream("output3DES.txt", FileMode.Create, FileAccess.Write);
       CryptoStream tripleStream = new CryptoStream(fsOut_3Des, tripleDes.CreateEncryptor(), CryptoStreamMode.Write);
       while (rdLen < totLen)
       {
           len = fsIn.Read(bin, 0, 100);
           System.Diagnostics.Debug.WriteLine("Read " + len.ToString() + " bytes.");
           tripleStream.Write(bin, 0, len);
           rdLen += len;
           Console.WriteLine("{0} Bytes Read.", rdLen);
       }
       fsIn.Close();
   }

}</source>