Jie

心若无尘,一花一世界,一鸟一天堂;心若静,已如涅磐,风声物语,皆可成言.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
namespace Encrypt_And_Decrypt_PrivateKey
{
    
public class AesSample
    {
        Rijndael aes 
= null;

        
public AesSample()
        {
            aes 
= Rijndael.Create();

        }

        
public string Encrypt(string data,byte[] bKey)
        {
            
try
            {
                
byte[] bData = Encoding.UTF8.GetBytes(data);
                aes.Key 
= bKey;
                aes.Mode 
= CipherMode.ECB;
                aes.Padding 
= PaddingMode.PKCS7;

                ICryptoTransform iCryptoTransform 
= aes.CreateEncryptor();
                
byte[] bResult =
                    iCryptoTransform.TransformFinalBlock(bData, 
0, bData.Length);

                
return Convert.ToBase64String(bResult);
            }
            
catch
            {
                
throw;
            }
        }

        
public string Decrypt(string data, byte[] bKey)
        {
            
try
            {
                
byte[] bData = Convert.FromBase64String(data);
                aes.Key 
= bKey;
                aes.Mode 
= CipherMode.ECB;
                aes.Padding 
= PaddingMode.PKCS7;

                ICryptoTransform iCryptoTransform 
= aes.CreateDecryptor();
                
byte[] bResult =
                    iCryptoTransform.TransformFinalBlock(bData, 
0, bData.Length);
                
return Encoding.UTF8.GetString(bResult);
            }
            
catch
            {
                
throw;
            }
        }

    }
//class AesSample

    
public class DesSample
    {
        DES des 
= null;

        
public DesSample()
        {
            des 
= new DESCryptoServiceProvider();
        }

        
public string Encrypt(string data, byte[] bKey)
        {
            
try
            {
                
byte[] bData = Encoding.UTF8.GetBytes(data);
                des.Key 
= bKey;

                ICryptoTransform iCryptoTransform 
= des.CreateEncryptor();
                
byte[] bResult =
                    iCryptoTransform.TransformFinalBlock(bData, 
0, bData.Length);

                
return Convert.ToBase64String(bResult);
            }
            
catch
            {
                
throw;
            }
        }

        
public string Decrypt(string data, byte[] bKey)
        {
            
try
            {
                
byte[] bData = Convert.FromBase64String(data);
                des.Key 
= bKey;

                ICryptoTransform iCryptoTransform 
= des.CreateDecryptor();
                
byte[] bResult =
                    iCryptoTransform.TransformFinalBlock(bData, 
0, bData.Length);
                
return Encoding.UTF8.GetString(bResult);
            }
            
catch
            {
                
throw;
            }
        }

    }
//class DesSample

    
public class Rc2Sample
    {
        RC2 rc2 
= null;

        
public Rc2Sample()
        {
            rc2 
= new RC2CryptoServiceProvider();
        }

        
public string Encrypt(string data, byte[] bKey)
        {
            
try
            {
                
byte[] bData = Encoding.UTF8.GetBytes(data);
                rc2.Key 
= bKey;

                ICryptoTransform iCryptoTransform 
= rc2.CreateEncryptor();
                
byte[] bResult =
                    iCryptoTransform.TransformFinalBlock(bData, 
0, bData.Length);

                
return Convert.ToBase64String(bResult);
            }
            
catch
            {
                
throw;
            }
        }

        
public string Decrypt(string data, byte[] bKey)
        {
            
try
            {
                
byte[] bData = Convert.FromBase64String(data);
                rc2.Key 
= bKey;

                ICryptoTransform iCryptoTransform 
= rc2.CreateDecryptor();
                
byte[] bResult =
                    iCryptoTransform.TransformFinalBlock(bData, 
0, bData.Length);
                
return Encoding.UTF8.GetString(bResult);
            }
            
catch
            {
                
throw;
            }
        }
    }

    
public class RijndaelSample
    {
        Rijndael rijndael 
= null;

        
public RijndaelSample()
        {
            rijndael 
= new RijndaelManaged();
        }

        
public string Encrypt(string data, byte[] bKey)
        {
            
try
            {
                
byte[] bData = Encoding.UTF8.GetBytes(data);
                rijndael.Key 
= bKey;

                ICryptoTransform iCryptoTransform 
= rijndael.CreateEncryptor();
                
byte[] bResult =
                    iCryptoTransform.TransformFinalBlock(bData, 
0, bData.Length);

                
return Convert.ToBase64String(bResult);
            }
            
catch
            {
                
throw;
            }
        }

        
public string Decrypt(string data, byte[] bKey)
        {
            
try
            {
                
byte[] bData = Convert.FromBase64String(data);
                rijndael.Key 
= bKey;

                ICryptoTransform iCryptoTransform 
= rijndael.CreateDecryptor();
                
byte[] bResult =
                    iCryptoTransform.TransformFinalBlock(bData, 
0, bData.Length);
                
return Encoding.UTF8.GetString(bResult);
            }
            
catch
            {
                
throw;
            }
        }

    }

    
public class TripleDESSample
    {
        TripleDES tDes 
= null;

        
public TripleDESSample()
        {
            tDes 
= new TripleDESCryptoServiceProvider();
        }

        
public string Encrypt(string data, byte[] bKey)
        {
            
try
            {
                
byte[] bData = Encoding.UTF8.GetBytes(data);
                tDes.Key 
= bKey;

                ICryptoTransform iCryptoTransform 
= tDes.CreateEncryptor();
                
byte[] bResult =
                    iCryptoTransform.TransformFinalBlock(bData, 
0, bData.Length);

                
return Convert.ToBase64String(bResult);
            }
            
catch
            {
                
throw;
            }
        }

        
public string Decrypt(string data, byte[] bKey)
        {
            
try
            {
                
byte[] bData = Convert.FromBase64String(data);
                tDes.Key 
= bKey;

                ICryptoTransform iCryptoTransform 
= tDes.CreateDecryptor();
                
byte[] bResult =
                    iCryptoTransform.TransformFinalBlock(bData, 
0, bData.Length);
                
return Encoding.UTF8.GetString(bResult);
            }
            
catch
            {
                
throw;
            }
        }
    }

}
//ns

 

 

 

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace Encrypt_And_Decrypt_PrivateKey
{
    
class Program
    {
        
static void Main(string[] args)
        {
            
byte[] bKey8 = UTF8Encoding.UTF8.GetBytes("12345678");
            
byte[] bKey16 = UTF8Encoding.UTF8.GetBytes("1234567890123456");
            
byte[] bKey32 = UTF8Encoding.UTF8.GetBytes("12345678901234567890123456789012");

            
string data = "Hello,I am Jie.";

            Console.WriteLine(
"Aes Sample");
            AesSample aes 
= new AesSample();
            
string aesData = "";
            aesData 
= aes.Encrypt(data, bKey32);
            Console.WriteLine(
"AES Encrypt:{0}", aesData);
            Console.WriteLine(
"AES Decrypt:{0}", aes.Decrypt(aesData, bKey32));
            Console.WriteLine();

            Console.WriteLine(
"Des Sample");
            DesSample des 
= new DesSample();
            
string desData = "";
            desData 
= des.Encrypt(data, bKey8);
            Console.WriteLine(
"DES Encrypt:{0}", desData);
            Console.WriteLine(
"DES Decrypt:{0}", des.Decrypt(desData, bKey8));
            Console.WriteLine();

            Console.WriteLine(
"RC2 Sample");
            Rc2Sample rc2 
= new Rc2Sample();
            
string rc2Data = "";
            rc2Data 
= rc2.Encrypt(data, bKey8);
            Console.WriteLine(
"RC2 Encrypt:{0}", rc2Data);
            Console.WriteLine(
"RC2 Decrypt:{0}", rc2.Decrypt(rc2Data, bKey8));
            Console.WriteLine();

            Console.WriteLine(
"Rijndael Sample");
            RijndaelSample rijndael 
= new RijndaelSample();
            
string rijndaelData = "";
            rijndaelData 
= rijndael.Encrypt(data, bKey32);
            Console.WriteLine(
"Rijndael Encrypt:{0}", rijndaelData);
            Console.WriteLine(
"Rijndael Decrypt:{0}", rijndael.Decrypt(rijndaelData, bKey32));
            Console.WriteLine();

            Console.WriteLine(
"TripleDES Sample");
            TripleDESSample tripleDES 
= new TripleDESSample();
            
string tripleDESData = "";
            tripleDESData 
= tripleDES.Encrypt(data, bKey16);
            Console.WriteLine(
"TripleDES Encrypt:{0}", tripleDESData);
            Console.WriteLine(
"TripleDES Decrypt:{0}", tripleDES.Decrypt(tripleDESData, bKey16));
            Console.WriteLine();

            Console.Read();
        }
   
    }
}