C#

我的公共类库

using System;
using System.IO;
using System.Net;
using System.Security.Cryptography;
using System.Text;
using System.Web;
using CY.CommonLibrary.Common;

namespace Lee
{
    public class Common
    {
        public static string ServerIPAndPort = System.Configuration.ConfigurationManager.AppSettings["ServerIPAndPort"];

        public static string Md5Key = System.Configuration.ConfigurationManager.AppSettings["Md5Key"];

        public static string Test_Swich = System.Configuration.ConfigurationManager.AppSettings["Test_Swich"]; //只要不为空,都为测试模式

        /// <summary>
        /// 是否处于测试模式.只要不为空,都为测试模式
        /// </summary>
        /// <returns>布尔值</returns>
        public static bool Is_测试模式()
        #region
        {
            if (Test_Swich != "")
            {
                return true;
            }
            return false;
        }

        #endregion

        /// <summary>
        /// send_发送POST请求
        /// </summary>
        /// <param name="vServerPage"></param>
        /// <param name="vPostData"></param>
        /// <returns></returns>
        public static string send_发送POST请求(string vServerPage, string vPostData)
        #region
        {
            byte[] dataArray = Encoding.UTF8.GetBytes(vPostData);
            //创建请求
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(vServerPage);
            request.Method = "POST";
            request.ContentLength = dataArray.Length;
            request.ContentType = "application/x-www-form-urlencoded";
            request.Timeout = 5000;
            //创建输入流
            Stream dataStream = null;
            try
            {
                dataStream = request.GetRequestStream();
            }
            catch (Exception)
            {
                return null;//连接服务器失败
            }

            //发送请求
            dataStream.Write(dataArray, 0, dataArray.Length);
            dataStream.Close();
            //读取返回消息
            string res = string.Empty;
            try
            {
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
                res = reader.ReadToEnd();
                reader.Close();
            }
            catch (Exception ex)
            {
                return null;//连接服务器失败
            }
            return res;
        }

        #endregion

        /// <summary>
        /// send_发送Get请求
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        public static string send_发送GET请求(string url)
        #region
        {
            string str = "";

            HttpWebRequest hwr = WebRequest.Create(url) as HttpWebRequest;

            hwr.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
            hwr.Method = "GET";
            hwr.UserAgent = "Mozilla/5.0 (Windows NT 5.1; rv:34.0) Gecko/20100101 Firefox/34.0";
            hwr.ContentType = "application/x-www-form-urlencoded";
            hwr.Headers["Accept-Language"] = "zh-cn";
            hwr.Timeout = 3000;

            try
            {
                HttpWebResponse _rep = hwr.GetResponse() as HttpWebResponse;
                Stream _stream = _rep.GetResponseStream();
                StreamReader read = new StreamReader(_stream, Encoding.UTF8);

                str = read.ReadToEnd();
                _rep.Close();
            }
            catch (Exception ex)
            {
                log.WriteLog("商学院数据获取超时? :" + ex.Message + "请求地址为:" + url);
                HttpContext.Current.Response.Clear();
                HttpContext.Current.Response.Write("<style type="text/css">#face{margin:0px auto;background: #9ee675;/* for Webkit */background: -webkit-gradient(linear, left top, left bottom, from(#9ee675), to(#78cb4c));/* for Firefox */background: -moz-linear-gradient(top,  #9ee675,  #78cb4c);/* for IE */filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#9ee675',endColorstr='#78cb4c'); color:#fff;border:1px solid #fff;border-radius:200px;text-indent:31px;97px;height:97px;font-size:66px;}  *{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 3.8em;text-align: center; font-size: 36px }</style><div style="padding: 24px 48px;"> <h1 id="face">:(</h1><p>数据超时..</p></div>");
                HttpContext.Current.Response.End();
            }
            return str;
        }

        #endregion

        /// <summary>
        /// 发送一张笑脸
        /// </summary>
        public static void send_smiling_face(string str)
        #region
        {
            HttpContext.Current.Response.Write("<style type="text/css">#face{margin:0px auto;background: #9ee675;/* for Webkit */background: -webkit-gradient(linear, left top, left bottom, from(#9ee675), to(#78cb4c));/* for Firefox */background: -moz-linear-gradient(top,  #9ee675,  #78cb4c);/* for IE */filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#9ee675',endColorstr='#78cb4c'); color:#fff;border:1px solid #fff;border-radius:200px;text-indent:31px;97px;height:97px;font-size:66px;}  *{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 3.8em;text-align: center; font-size: 36px }</style><div style="padding: 24px 48px;"> <h1 id="face">:)</h1><p>" + str + "</p></div>");
        }

        #endregion

        /// <summary>
        /// 发送一张哭脸
        /// </summary>
        /// <param name="str"></param>
        public static void send_unhappy_face(string str)
        #region
        {
            HttpContext.Current.Response.Write("<style type="text/css">#face{margin:0px auto;background: #9ee675;/* for Webkit */background: -webkit-gradient(linear, left top, left bottom, from(#9ee675), to(#78cb4c));/* for Firefox */background: -moz-linear-gradient(top,  #9ee675,  #78cb4c);/* for IE */filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#9ee675',endColorstr='#78cb4c'); color:#fff;border:1px solid #fff;border-radius:200px;text-indent:31px;97px;height:97px;font-size:66px;}  *{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 3.8em;text-align: center; font-size: 36px }</style><div style="padding: 24px 48px;"> <h1 id="face">:(</h1><p>" + str + "</p></div>");
        }

        #endregion

        /// <summary>
        /// 维护中
        /// </summary>
        public static void Send_repair()
        #region
        {
            if (HttpContext.Current.Session["Current_Shop_Id"].ToNotNullString() != "6634")
            {
                send_smiling_face("维修中...");
            }
        }

        #endregion

        /// <summary>
        /// 网页弹出框
        /// </summary>
        /// <param name="obj"></param>
        public static void alert(object obj)
        #region
        {
            HttpContext.Current.Response.Write("<script language=javascript>alert('" + obj.ToString() + "')</script>");
        }

        #endregion

        /// <summary>
        /// 网页弹出框
        /// </summary>
        /// <param name="obj"></param>
        public static void alert_back(object obj)
        #region
        {
            HttpContext.Current.Response.Write("<script language=javascript>alert('" + obj.ToString() + "');history.back();</script>");
        }

        #endregion

        /// <summary>
        /// 网页弹出框
        /// </summary>
        /// <param name="obj"></param>
        public static void alert_href(object obj, string url)
        #region
        {
            HttpContext.Current.Response.Write("<script language=javascript>alert('" + obj.ToString() + "');window.location.href='" + url + "';</script>");
        }

        #endregion

        /// <summary>
        /// 在控制台打印出数据
        /// </summary>
        /// <param name="obj"></param>
        public static void log_Console(object obj)
        #region
        {
            HttpContext.Current.Response.Write("<script>console.log("" + obj + "")</script>");
        }

        #endregion

        /// <summary>
        /// 打印
        /// </summary>
        /// <param name="obj"></param>
        public static void print(object obj)
        #region
        {
            HttpContext.Current.Response.Write(obj.ToString());
        }

        #endregion

        /// <summary>
        /// 输出,不换行,使用完直接结束
        /// </summary>
        /// <param name="obj"></param>
        public static void echo(object obj)
        #region
        {
            HttpContext.Current.Response.Write(obj.ToString());
        }

        #endregion

        /// <summary>
        /// 打印,带换行
        /// </summary>
        /// <param name="obj"></param>
        public static void println(object obj)
        #region
        {
            HttpContext.Current.Response.Write(obj.ToString() + "<br />");
        }

        #endregion

        /// <summary>
        /// 结束网页输出
        /// </summary>
        public static void End()
        #region
        {
            HttpContext.Current.Response.End();
        }

        #endregion

        /// <summary>
        /// 清除网页输出
        /// </summary>
        public static void Clear()
        #region
        {
            HttpContext.Current.Response.Clear();
        }

        #endregion

        /// <summary>
        /// ASE_128_ECB_无填充_64Base_加密函数
        /// </summary>
        /// <param name="content">要加密的内容</param>
        /// <param name="key">一定要16位的密钥</param>
        /// <returns>加密的字符串(字节)</returns>
        public static byte[] Func_AES128加密(string content, string key)
        #region
        {
            byte[] keyArray = UTF8Encoding.UTF8.GetBytes(key);
            byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(content);

            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);

            //返回字节数组,可用Convert.FromBase64String()转换为字节
            //return Convert.ToBase64String(resultArray, 0, resultArray.Length);

            return resultArray;
        }
        #endregion


        /// <summary>
        ///  ASE_128_ECB_无填充_64Base_解密函数
        /// </summary>
        /// <param name="content">密串(字节)</param>
        /// <param name="keyArray">密钥(字节)</param>
        /// <returns>解密后的字符串</returns>
        public static byte[] Func_AES128解密(byte[] content, byte[] keyArray)
        #region
        {
            RijndaelManaged rDel = new RijndaelManaged();
            rDel.Key = keyArray;
            rDel.Mode = CipherMode.ECB;
            rDel.Padding = PaddingMode.None;
            rDel.BlockSize = 128;

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

            return resultArray;
        }

        #endregion

    }
}
原文地址:https://www.cnblogs.com/CyLee/p/5324658.html