Материал из .Net Framework эксперт
Secret Key Cryptography: DES
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();
}
}
Secret Key Cryptography: TripleDES
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();
}
}