Материал из .Net Framework эксперт
Generate the keyed hash code of the file"s contents
using System;
using System.IO;
using System.Text;
using System.Security.Cryptography;
class MainClass
{
public static void Main(string[] args)
{
byte[] key = Encoding.Unicode.GetBytes("yourKey");
using (KeyedHashAlgorithm hashAlg = KeyedHashAlgorithm.Create("AlgorithmName"))
{
hashAlg.Key = key;
using (Stream file = new FileStream("c:\\text.txt", FileMode.Open,FileAccess.Read))
{
byte[] hash = hashAlg.ruputeHash(file);
// Display the keyed hash code to the console.
Console.WriteLine(BitConverter.ToString(hash));
}
}
}
}
Secret Key Cryptography: RC2
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;
// RC2
RC2CryptoServiceProvider rc2 = new RC2CryptoServiceProvider();
rc2.GenerateIV();
rc2.GenerateKey();
FileStream fsOut_RC2 = new FileStream("outputRC2.txt", FileMode.Create, FileAccess.Write);
CryptoStream rc2Stream = new CryptoStream( fsOut_RC2,
rc2.CreateEncryptor(), CryptoStreamMode.Write);
while ( rdLen < totLen )
{
len = fsIn.Read(bin, 0, 100);
System.Diagnostics.Debug.WriteLine("Read " + len.ToString() + " bytes.");
rc2Stream.Write(bin, 0, len );
rdLen += len;
Console.WriteLine("{0} Bytes Read.", rdLen );
}
fsIn.Close();
}
}