zoukankan      html  css  js  c++  java
  • WEB开发常用的几个函数(获取IP,MD5加密解密,HTML转义字符)

    代码
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Security.Cryptography;
    using System.Text;
    using System.IO;  


    /// <summary>
    /// Common 的摘要说明
    /// </summary>
    public class Common
    {
        
    public Common()
        {
            
    //
            
    // TODO: 在此处添加构造函数逻辑
            
    //
        }

        
    /// <summary>
        
    /// 获取IP地址
        
    /// </summary>
        
    /// <returns></returns>
        public static string GetAddIP()
        {
            
    string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
            
    if (null == result || result == String.Empty)
            {
                result 
    = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
            }

            
    if (null == result || result == String.Empty)
            {
                result 
    = HttpContext.Current.Request.UserHostAddress;
            }
            
    return result;
        }

        
    #region MD5加密
        
    /// <summary>   
        
    /// MD5加密   
        
    /// </summary>   
        
    /// <param name="strSource">需要加密的字符串</param>   
        
    /// <returns>MD5加密后的字符串</returns>   
        public static string Md5Encrypt(string strSource)
        {
            
    //把字符串放到byte数组中   
            byte[] bytIn = System.Text.Encoding.Default.GetBytes(strSource);
            
    //建立加密对象的密钥和偏移量           
            byte[] iv = { 102169315678421832 };//定义偏移量   
            byte[] key = { 551032467936991673 };//定义密钥   
            
    //实例DES加密类   
            DESCryptoServiceProvider mobjCryptoService = new DESCryptoServiceProvider();
            mobjCryptoService.Key 
    = iv;
            mobjCryptoService.IV 
    = key;
            ICryptoTransform encrypto 
    = mobjCryptoService.CreateEncryptor();
            
    //实例MemoryStream流加密密文件   
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            CryptoStream cs 
    = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);
            cs.Write(bytIn, 
    0, bytIn.Length);
            cs.FlushFinalBlock();
            
    return System.Convert.ToBase64String(ms.ToArray());
        }
        
    #endregion

        
    #region MD5解密
        
    /// <summary>   
        
    /// MD5解密   
        
    /// </summary>   
        
    /// <param name="Source">需要解密的字符串</param>   
        
    /// <returns>MD5解密后的字符串</returns>   
        public static string Md5Decrypt(string Source)
        {
            
    //将解密字符串转换成字节数组   
            byte[] bytIn = System.Convert.FromBase64String(Source);
            
    //给出解密的密钥和偏移量,密钥和偏移量必须与加密时的密钥和偏移量相同   
            byte[] iv = { 102169315678421832 };//定义偏移量   
            byte[] key = { 551032467936991673 };//定义密钥   
            DESCryptoServiceProvider mobjCryptoService = new DESCryptoServiceProvider();
            mobjCryptoService.Key 
    = iv;
            mobjCryptoService.IV 
    = key;
            
    //实例流进行解密   
            System.IO.MemoryStream ms = new System.IO.MemoryStream(bytIn, 0, bytIn.Length);
            ICryptoTransform encrypto 
    = mobjCryptoService.CreateDecryptor();
            CryptoStream cs 
    = new CryptoStream(ms, encrypto, CryptoStreamMode.Read);
            StreamReader strd 
    = new StreamReader(cs, Encoding.Default);
            
    return strd.ReadToEnd();
        }
        
    #endregion 

        
    #region  HTML 转义字符

        
    /// <summary>
        
    /// 编码
        
    /// </summary>
        
    /// <param name="str"></param>
        
    /// <returns></returns>
        public static string Encode(string str)
        {
            str 
    = str.Replace("&""&amp;");
            str 
    = str.Replace("'""''");
            str 
    = str.Replace("\"""&quot;");
            str = str.Replace(" ""&nbsp;");
            str 
    = str.Replace("<""&lt;");
            str 
    = str.Replace(">""&gt;");
            str 
    = str.Replace("\n""<br>");
            
    return str;
        }

        
    /// <summary>
        
    /// 解码
        
    /// </summary>
        
    /// <param name="str"></param>
        
    /// <returns></returns>
        public static string Decode(string str)
        {
            str 
    = str.Replace("&amp;""&");
            str 
    = str.Replace("''""'");
            str 
    = str.Replace("&quot;""\"");
            str = str.Replace("&nbsp;"" ");
            str 
    = str.Replace("&gt;"">");
            str 
    = str.Replace("&lt;""<");
            str 
    = str.Replace("\n""<br>");
            
    return str;
        }
        
    #endregion

    }
  • 相关阅读:
    第九周PSP
    c++的继承方式
    matlab的应用
    beta发布的评论
    本周psp
    历年作品点评
    JSON解析数据
    每周工作量及代码统计(第七周)
    词频统计(WEB)版
    评论alpha发布
  • 原文地址:https://www.cnblogs.com/lbg280/p/1768826.html
Copyright © 2011-2022 走看看