Csharp/CSharp Tutorial/Security/DES
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>