代码
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

}

 

posted on 2010-07-01 09:11  潇洒地走  阅读(544)  评论(0编辑  收藏  举报