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

转载于:https://www.cnblogs.com/xcjit/p/6747910.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值