(原创)常用加密解密

加密
代码
public   static   string  Encrypt( string  toEncrypt,  bool  useHashing)
    {
        
byte [] keyArray;
        
byte [] toEncryptArray  =  UTF8Encoding.UTF8.GetBytes(toEncrypt);

        System.Configuration.AppSettingsReader settingsReader 
=   new  AppSettingsReader();

        
string  key  =  ( string )settingsReader.GetValue( " SecurityKey " typeof (String));

        
if  (useHashing)
        {
            MD5CryptoServiceProvider hashmd5 
=   new  MD5CryptoServiceProvider();
            keyArray 
=  hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));

            hashmd5.Clear();
        }
        
else
            keyArray 
=  UTF8Encoding.UTF8.GetBytes(key);

        TripleDESCryptoServiceProvider tdes 
=   new  TripleDESCryptoServiceProvider();

        tdes.Key 
=  keyArray;

        tdes.Mode 
=  CipherMode.ECB;
        tdes.Padding 
=  PaddingMode.PKCS7;

        ICryptoTransform cTransform 
=  tdes.CreateEncryptor();

        
byte [] resultArray  =  cTransform.TransformFinalBlock
                (toEncryptArray, 
0 , toEncryptArray.Length);
        tdes.Clear();
        
return  Convert.ToBase64String(resultArray,  0 , resultArray.Length);
    }

解密:

代码
public   static   string  Decrypt( string  cipherString,  bool  useHashing)
    {
        
byte [] keyArray;


        
byte [] toEncryptArray  =  Convert.FromBase64String(cipherString);

        System.Configuration.AppSettingsReader settingsReader 
=   new  AppSettingsReader();
        
string  key  =  ( string )settingsReader.GetValue( " SecurityKey " typeof (String));

        
if  (useHashing)
        {
            MD5CryptoServiceProvider hashmd5 
=   new  MD5CryptoServiceProvider();
            keyArray 
=  hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));

            hashmd5.Clear();
        }
        
else
        {
            keyArray 
=  UTF8Encoding.UTF8.GetBytes(key);
         }

        TripleDESCryptoServiceProvider tdes 
=   new  TripleDESCryptoServiceProvider();

        tdes.Key 
=  keyArray;
        

        tdes.Mode 
=  CipherMode.ECB;

        tdes.Padding 
=  PaddingMode.PKCS7;

        ICryptoTransform cTransform 
=  tdes.CreateDecryptor();
        
byte [] resultArray  =  cTransform.TransformFinalBlock
                (toEncryptArray, 
0 , toEncryptArray.Length);

        tdes.Clear();

        
return  UTF8Encoding.UTF8.GetString(resultArray);
    }

 

 

 

你可能感兴趣的:(加密解密)