C# 常用字符串加密解密方法


using System;

using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using System.Web.Security;
 
namespace HuaTong.General.Utility
{
     /// <summary>
     /// 加密工具类
     /// </summary>
     public  class EncryptHelper
     {
         //默认密钥
         private  static  string AESKey =  "[45/*YUIdse..e;]" ;
         private  static  string DESKey =  "[&HdN72]" ;
 
         /// <summary> 
         /// AES加密 
         /// </summary>
         public  static  string AESEncrypt(string value, string _aeskey =  null )
         {
             if (string.IsNullOrEmpty(_aeskey))
             {
                 _aeskey = AESKey;
             }
 
             byte[] keyArray = Encoding.UTF8.GetBytes(_aeskey);
             byte[] toEncryptArray = Encoding.UTF8.GetBytes(value);
 
             RijndaelManaged rDel = new RijndaelManaged();
             rDel. Key  = keyArray;
             rDel.Mode = CipherMode.ECB;
             rDel.Padding = PaddingMode.PKCS7;
 
             ICryptoTransform cTransform = rDel.CreateEncryptor();
             byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
 
             return  Convert .ToBase64String(resultArray, 0, resultArray.Length);
         }
 
         /// <summary> 
         /// AES解密 
         /// </summary>
         public  static  string AESDecrypt(string value, string _aeskey =  null )
         {
             try
             {
                 if (string.IsNullOrEmpty(_aeskey))
                 {
                     _aeskey = AESKey;
                 }
                 byte[] keyArray = Encoding.UTF8.GetBytes(_aeskey);
                 byte[] toEncryptArray =  Convert .FromBase64String(value);
 
                 RijndaelManaged rDel = new RijndaelManaged();
                 rDel. Key  = keyArray;
                 rDel.Mode = CipherMode.ECB;
                 rDel.Padding = PaddingMode.PKCS7;
 
                 ICryptoTransform cTransform = rDel.CreateDecryptor();
                 byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
 
                 return  Encoding.UTF8.GetString(resultArray);
             }
             catch
             {
                 return  string.Empty;
             }
         }
 
         /// <summary> 
         /// DES加密 
         /// </summary>
         public  static  string DESEncrypt(string value, string _deskey =  null )
         {
             if (string.IsNullOrEmpty(_deskey))
             {
                 _deskey = DESKey;
             }
 
             byte[] keyArray = Encoding.UTF8.GetBytes(_deskey);
             byte[] toEncryptArray = Encoding.UTF8.GetBytes(value);
 
             DESCryptoServiceProvider rDel = new DESCryptoServiceProvider();
             rDel. Key  = keyArray;
             rDel.Mode = CipherMode.ECB;
             rDel.Padding = PaddingMode.PKCS7;
 
             ICryptoTransform cTransform = rDel.CreateEncryptor();
             byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
 
             return  Convert .ToBase64String(resultArray, 0, resultArray.Length);
         }
 
         /// <summary> 
         /// DES解密 
         /// </summary>
         public  static  string DESDecrypt(string value, string _deskey =  null )
         {
             try
             {
                 if (string.IsNullOrEmpty(_deskey))
                 {
                     _deskey = DESKey;
                 }
                 byte[] keyArray = Encoding.UTF8.GetBytes(_deskey);
                 byte[] toEncryptArray =  Convert .FromBase64String(value);
 
                 DESCryptoServiceProvider rDel = new DESCryptoServiceProvider();
                 rDel. Key  = keyArray;
                 rDel.Mode = CipherMode.ECB;
                 rDel.Padding = PaddingMode.PKCS7;
 
                 ICryptoTransform cTransform = rDel.CreateDecryptor();
                 byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
 
                 return  Encoding.UTF8.GetString(resultArray);
             }
             catch
             {
                 return  string.Empty;
             }
         }
 
         public  static  string MD5(string value)
         {
             byte[] result = Encoding.UTF8.GetBytes(value);
             MD5 md5 = new MD5CryptoServiceProvider();
             byte[]  output  = md5.ComputeHash(result);
             return  BitConverter.ToString( output ). Replace ( "-" "" );
         }
 
         public  static  string HMACMD5(string value, string hmacKey)
         {
             HMACSHA1 hmacsha1 = new HMACSHA1(Encoding.UTF8.GetBytes(hmacKey));
             byte[] result = System.Text.Encoding.UTF8.GetBytes(value);
             byte[]  output  = hmacsha1.ComputeHash(result);
 
             
             return  BitConverter.ToString( output ). Replace ( "-" "" );
         }
 
         /// <summary>
         /// base64编码
         /// </summary>
         /// < returns ></ returns >
         public  static  string Base64Encode(string value)
         {
             string result =  Convert .ToBase64String(Encoding. Default .GetBytes(value));
             return  result;
         }
         /// <summary>
         /// base64解码
         /// </summary>
         /// < returns ></ returns >
         public  static  string Base64Decode(string value)
         {
             string result = Encoding. Default .GetString( Convert .FromBase64String(value));
             return  result;
         }
 
 
     }
}
 
转自:http://www.cnblogs.com/password1/p/5867781.html#3510274


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM