.NET中进行Base64加密解密

精贴 置顶
3447 0

方法一:

  /// <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. }  

  • 没有任何评论
今日天气 ···

···

···

···

热门排行
CSS cursor鼠标样式一览表 2012-06-25
.NET后台写JS代码 2011-11-03
网站地址多出jdfwkey的问题解析及... 2010-08-25
数据库xxx的日志已满,请备份该数... 2013-07-19
百度、google、Yahoo网站地图制作... 2011-01-30
<a>标签的伪类书写顺序问题... 2010-09-04
什么是长尾关键词? 2010-09-24
CEO名言 2010-08-31
Mysql 主从数据库同步 2010-09-12
用ASP实现网页BBS 2010-11-01
博主推荐
本个人博客微信公众平台上线啦~~... 2013-10-13
饼哥网络互联上线啦~~要买域名空... 2013-09-20
网站title标题如何正确修改不会被... 2013-08-26
饼哥通讯录系统上线啦,欢迎大家... 2013-08-24
ASP .NET MYSQL 的简单分页 并不... 2013-08-19
网站有弹窗广告这样的站点,百度... 2013-08-17
做淘宝SEO优化需要注意的8大问题 2013-08-17
淘宝网怎么做SEO优化 2013-08-17
站长们要学习的“苍井空精神” 2013-08-17
苹果公司今日发布了iOS 7第五个开... 2013-08-07
随便看看
使用数据绑定控件显示数据 2010-10-19
URL转义字符 2010-12-07
隐藏文本和链接 2010-09-21
IIS安全设置技巧 2010-10-15
用文本+ASP打造新闻发布系统 2010-11-03
HTML5下插入flash 2013-10-03
浅谈如何构建高效的MySQL分页 2013-08-19
asp.net判断文件或文件夹是否存在... 2013-06-18
电子商务网站建设技术:PR值的主... 2010-09-02
免费域名邮箱申请-腾讯QQ域名邮箱... 2010-08-25
RSS新闻
传媒新闻
CSDN
八卦新闻
女性新闻
台湾新闻
互联网
军事-新浪博客
IT-新浪博客
汽车新闻
游戏新闻
国际新闻
国内新闻
体育新闻
我的微博
北京 上海 杭州 深圳 广州 成都