哈希加密:
MD5:
byte
[] data
=
new
byte
[DATA_SIZE];
// This is one implementation of the abstract class MD5.
MD5 md5 = new MD5CryptoServiceProvider();
byte [] result = md5.ComputeHash(data);
// This is one implementation of the abstract class MD5.
MD5 md5 = new MD5CryptoServiceProvider();
byte [] result = md5.ComputeHash(data);
SHA1:
byte
[] data
=
new
byte
[DATA_SIZE];
byte [] result;
SHA1 sha = new SHA1CryptoServiceProvider();
// This is one implementation of the abstract class SHA1.
result = sha.ComputeHash(data);
byte [] result;
SHA1 sha = new SHA1CryptoServiceProvider();
// This is one implementation of the abstract class SHA1.
result = sha.ComputeHash(data);
可逆加密算法:
DES:
private
static
void
EncryptData(String inName, String outName,
byte
[] desKey,
byte
[] desIV)
{
// Create the file streams to handle the input and output files.
FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read);
FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write);
fout.SetLength( 0 );
// Create variables to help with read and write.
byte [] bin = new byte [ 100 ]; // This is intermediate storage for the encryption.
long rdlen = 0 ; // This is the total number of bytes written.
long totlen = fin.Length; // This is the total length of the input file.
int len; // This is the number of bytes to be written at a time.
DES des = new DESCryptoServiceProvider();
CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);
Console.WriteLine( " Encrypting
"
);
// Read from the input file, then encrypt and write to the output file.
while (rdlen < totlen)
{
len = fin.Read(bin, 0 , 100 );
encStream.Write(bin, 0 , len);
rdlen = rdlen + len;
Console.WriteLine( " {0} bytes processed " , rdlen);
}
encStream.Close();
fout.Close();
fin.Close();
}
{
// Create the file streams to handle the input and output files.
FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read);
FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write);
fout.SetLength( 0 );
// Create variables to help with read and write.
byte [] bin = new byte [ 100 ]; // This is intermediate storage for the encryption.
long rdlen = 0 ; // This is the total number of bytes written.
long totlen = fin.Length; // This is the total length of the input file.
int len; // This is the number of bytes to be written at a time.
DES des = new DESCryptoServiceProvider();
CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);
Console.WriteLine( " Encrypting

// Read from the input file, then encrypt and write to the output file.
while (rdlen < totlen)
{
len = fin.Read(bin, 0 , 100 );
encStream.Write(bin, 0 , len);
rdlen = rdlen + len;
Console.WriteLine( " {0} bytes processed " , rdlen);
}
encStream.Close();
fout.Close();
fin.Close();
}