C#中常用的加密类

哈希加密:

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);


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);



可逆加密算法

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, 0100);
         encStream.Write(bin, 
0, len);
         rdlen 
= rdlen + len;
         Console.WriteLine(
"{0} bytes processed", rdlen);
     }
 
     encStream.Close();  
     fout.Close();
     fin.Close();                   
 }
原文地址:https://www.cnblogs.com/wangbin/p/1261860.html