WEB开发常用的几个函数(获取IP,MD5加密解密,HTML转义字符)

ExpandedBlockStart.gif 代码
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  =  {  102 16 93 156 78 4 218 32  }; // 定义偏移量   
         byte [] key  =  {  55 103 246 79 36 99 167 3  }; // 定义密钥   
        
// 实例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  =  {  102 16 93 156 78 4 218 32  }; // 定义偏移量   
         byte [] key  =  {  55 103 246 79 36 99 167 3  }; // 定义密钥   
        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

}

 

转载于:https://www.cnblogs.com/lbg280/archive/2010/07/01/1768826.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值