吴旭晓个人博客 繁体中文 简体中文

首页| 日志 |JAVA |ASP |PHP |Android |IOS |ASP.NET |JavaScript |DIV+CSS |SEO |taobaoke |饼哥语录
繁体中文 简体中文

.NET中进行Base64加密解密

方法一:

  /// <summary>   
  1.    /// Base64加密   
  2.    /// </summary>   
  3.    /// <param name="Message"></param>   
  4.    /// <returns></returns>   
  5.    public string Base64Code(string Message)  
  6.    {  
  7.    byte[] bytes = Encoding.Default.GetBytes(Message);  
  8.    return Convert.ToBase64String(bytes);  
  9.    }  
  10.    /// <summary>   
  11.    /// Base64解密   
  12.    /// </summary>   
  13.    /// <param name="Message"></param>   
  14.    /// <returns></returns>   
  15.    public string Base64Decode(string Message)  
  16.    {  
  17.    byte[] bytes = Convert.FromBase64String(Message);  
  18.    return Encoding.Default.GetString(bytes);  
  19.    }  


 

方法二:

//----------------------------------------------------------------------------    
  1. //项目名称  公共函数   
  2. //程序功能  Base64 编码及解码   
  3. //备注说明  code_type = "utf-8"     65001   
  4. //                      "utf-7"     65000   
  5. //                      "big5"      950   
  6. //                      "gb2312"    936   
  7. //----------------------------------------------------------------------------    
  8. using System;  
  9. using System.Collections.Generic;  
  10. using System.Text;  
  11. using System.Web;  
  12.   
  13. public class CodeBase64  
  14. {  
  15.     private int _codepage = 65001;              // 默认使用 utf-8   
  16.     private string _en_code_base64 = "";        // 要解码的数据   
  17.     private string _de_code_base64 = "";        // 要编码的数据   
  18.   
  19.     // 设置字码页   
  20.     public int CodePage  
  21.     {  
  22.         set  
  23.         {  
  24.             this._codepage = value;  
  25.         }  
  26.         get  
  27.         {  
  28.             return _codepage;  
  29.         }  
  30.     }  
  31.   
  32.     // 取得编码的数据   
  33.     private string EnBase64Code  
  34.     {  
  35.         set  
  36.         {  
  37.             this._en_code_base64 = value;  
  38.         }  
  39.   
  40.         get  
  41.         {  
  42.             return EnCodeBase64(_codepage, _de_code_base64);  
  43.         }  
  44.     }  
  45.   
  46.     // 取得解码的数据   
  47.     private string DeBase64Code  
  48.     {  
  49.         set  
  50.         {  
  51.             this._de_code_base64 = value;  
  52.         }  
  53.   
  54.         get  
  55.         {  
  56.             return DeCodeBase64(_codepage, _en_code_base64);  
  57.         }  
  58.     }  
  59.   
  60.     // Base64 编码   
  61.     /// <summary>   
  62.     /// 对字符串进行Base64编码   
  63.     /// </summary>   
  64.     /// <param name="codepage">代码页,utf-8:65001,gb2132:936</param>   
  65.     /// <param name="decode">需要加密的字符串</param>   
  66.     /// <returns></returns>   
  67.     public string EnCodeBase64(int codepage, string decode)  
  68.     {  
  69.         string encode = "";  
  70.   
  71.         try  
  72.         {  
  73.             byte[] bytes = Encoding.GetEncoding(codepage).GetBytes(decode);  
  74.             encode = Convert.ToBase64String(bytes);  
  75.         }  
  76.         catch  
  77.         {  
  78.             encode = "";  
  79.         }  
  80.   
  81.         return encode;  
  82.     }  
  83.   
  84.     // Base64 解码   
  85.     /// <summary>   
  86.     /// 对Base64编码的字符串进行解码   
  87.     /// </summary>   
  88.     /// <param name="codepage">代码页,utf-8:65001,gb2132:936</param>   
  89.     /// <param name="encode">需要解码的字符串</param>   
  90.     /// <returns></returns>   
  91.     public string DeCodeBase64(int codepage, string encode)  
  92.     {  
  93.         string decode = "";  
  94.         try  
  95.         {  
  96.             byte[] bytes = Convert.FromBase64String(encode);  
  97.             decode = Encoding.GetEncoding(codepage).GetString(bytes);  
  98.         }  
  99.         catch  
  100.         {  
  101.             decode = encode;  
  102.         }  
  103.   
  104.         return decode;  
  105.     }  
  106.   
  107.     // 输入 CodePage 名称,取得 CodePage 代码   
  108.     // 若返回值为 -1 表示找不到   
  109.     public int GetCodePage(string page_name)  
  110.     {  
  111.         int code_page = -1;  
  112.         page_name = page_name.ToLower();  
  113.   
  114.         foreach (EncodingInfo einfo in Encoding.GetEncodings())  
  115.         {  
  116.             Encoding ecode = einfo.GetEncoding();  
  117.   
  118.             if (page_name == einfo.Name.ToLower())  
  119.             {  
  120.                 code_page = ecode.CodePage;  
  121.                 break;  
  122.             }  
  123.         }  
  124.   
  125.         return code_page;  
  126.     }  
  127.   
  128.     // 输入 CodePage 代码,取得 CodePage 名称   
  129.     // 若返回值为 空白字符串 表示找不到   
  130.     public string GetPageName(int code_page)  
  131.     {  
  132.         string page_name = "";  
  133.   
  134.         foreach (EncodingInfo einfo in Encoding.GetEncodings())  
  135.         {  
  136.             Encoding ecode = einfo.GetEncoding();  
  137.   
  138.             if (code_page == ecode.CodePage)  
  139.             {  
  140.                 page_name = einfo.Name;  
  141.                 break;  
  142.             }  
  143.         }  
  144.         return page_name;  
  145.     }  
  146. }  

作者:吴旭晓 | 来源:个人博客 | 点击量:3787 | 发布时间:2013-06-01
最新留言 | 返回上一页 | 返回首页

相关文章:

版权所有:吴旭晓个人博客 Copyright © 2013-2023 个人博客