基本信息
源码名称:C#加密解密字符串源程序-下载后可直接使用
源码大小:0.05M
文件格式:.zip
开发语言:C#
更新时间:2018-06-01
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 3 元 
   源码介绍

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

namespace 加密解密字符串OK
{
   

        /// <summary>
        /// 加密工具类
        /// </summary>
        public class EncryptHelper
        {
            //默认密钥
            private static string AESKey = "[37/*YUIdse.$e;]";
            private static string DESKey = "[H$K3&5]";

            /// <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;
            }
 



        }
    }