首页 > 代码库 > .NET中进行Base64加密解密

.NET中进行Base64加密解密

方法一:

    /// <summary>       /// Base64加密       /// </summary>       /// <param name="Message"></param>       /// <returns></returns>       public string Base64Code(string Message)       {       byte[] bytes = Encoding.Default.GetBytes(Message);       return Convert.ToBase64String(bytes);       }       /// <summary>       /// Base64解密       /// </summary>       /// <param name="Message"></param>       /// <returns></returns>       public string Base64Decode(string Message)       {       byte[] bytes = Convert.FromBase64String(Message);       return Encoding.Default.GetString(bytes);       }  

 

方法二:

    //----------------------------------------------------------------------------       //项目名称  公共函数      //程序功能  Base64 编码及解码      //备注说明  code_type = "utf-8"     65001      //                      "utf-7"     65000      //                      "big5"      950      //                      "gb2312"    936      //----------------------------------------------------------------------------       using System;      using System.Collections.Generic;      using System.Text;      using System.Web;            public class CodeBase64      {          private int _codepage = 65001;              // 默认使用 utf-8          private string _en_code_base64 = "";        // 要解码的数据          private string _de_code_base64 = "";        // 要编码的数据                // 设置字码页          public int CodePage          {              set              {                  this._codepage = value;              }              get              {                  return _codepage;              }          }                // 取得编码的数据          private string EnBase64Code          {              set              {                  this._en_code_base64 = value;              }                    get              {                  return EnCodeBase64(_codepage, _de_code_base64);              }          }                // 取得解码的数据          private string DeBase64Code          {              set              {                  this._de_code_base64 = value;              }                    get              {                  return DeCodeBase64(_codepage, _en_code_base64);              }          }                // Base64 编码          /// <summary>          /// 对字符串进行Base64编码          /// </summary>          /// <param name="codepage">代码页,utf-8:65001,gb2132:936</param>          /// <param name="decode">需要加密的字符串</param>          /// <returns></returns>          public string EnCodeBase64(int codepage, string decode)          {              string encode = "";                    try              {                  byte[] bytes = Encoding.GetEncoding(codepage).GetBytes(decode);                  encode = Convert.ToBase64String(bytes);              }              catch              {                  encode = "";              }                    return encode;          }                // Base64 解码          /// <summary>          /// 对Base64编码的字符串进行解码          /// </summary>          /// <param name="codepage">代码页,utf-8:65001,gb2132:936</param>          /// <param name="encode">需要解码的字符串</param>          /// <returns></returns>          public string DeCodeBase64(int codepage, string encode)          {              string decode = "";              try              {                  byte[] bytes = Convert.FromBase64String(encode);                  decode = Encoding.GetEncoding(codepage).GetString(bytes);              }              catch              {                  decode = encode;              }                    return decode;          }                // 输入 CodePage 名称,取得 CodePage 代码          // 若返回值为 -1 表示找不到          public int GetCodePage(string page_name)          {              int code_page = -1;              page_name = page_name.ToLower();                    foreach (EncodingInfo einfo in Encoding.GetEncodings())              {                  Encoding ecode = einfo.GetEncoding();                        if (page_name == einfo.Name.ToLower())                  {                      code_page = ecode.CodePage;                      break;                  }              }                    return code_page;          }                // 输入 CodePage 代码,取得 CodePage 名称          // 若返回值为 空白字符串 表示找不到          public string GetPageName(int code_page)          {              string page_name = "";                    foreach (EncodingInfo einfo in Encoding.GetEncodings())              {                  Encoding ecode = einfo.GetEncoding();                        if (code_page == ecode.CodePage)                  {                      page_name = einfo.Name;                      break;                  }              }              return page_name;          }      }            // This code produces the following output.      /*      CodePage identifier and name     BrDisp   BrSave   MNDisp   MNSave   1-Byte   ReadOnly      37     IBM037                    False    False    False    False    True     True          437    IBM437                    False    False    False    False    True     True          500    IBM500                    False    False    False    False    True     True          708    ASMO-708                  True     True     False    False    True     True          720    DOS-720                   True     True     False    False    True     True          737    ibm737                    False    False    False    False    True     True          775    ibm775                    False    False    False    False    True     True          850    ibm850                    False    False    False    False    True     True          852    ibm852                    True     True     False    False    True     True          855    IBM855                    False    False    False    False    True     True          857    ibm857                    False    False    False    False    True     True          858    IBM00858                  False    False    False    False    True     True          860    IBM860                    False    False    False    False    True     True          861    ibm861                    False    False    False    False    True     True          862    DOS-862                   True     True     False    False    True     True          863    IBM863                    False    False    False    False    True     True          864    IBM864                    False    False    False    False    True     True          865    IBM865                    False    False    False    False    True     True          866    cp866                     True     True     False    False    True     True          869    ibm869                    False    False    False    False    True     True          870    IBM870                    False    False    False    False    True     True          874    windows-874               True     True     True     True     True     True          875    cp875                     False    False    False    False    True     True          932    shift_jis                 True     True     True     True     False    True          936    gb2312                    True     True     True     True     False    True          949    ks_c_5601-1987            True     True     True     True     False    True          950    big5                      True     True     True     True     False    True          1026   IBM1026                   False    False    False    False    True     True          1047   IBM01047                  False    False    False    False    True     True          1140   IBM01140                  False    False    False    False    True     True          1141   IBM01141                  False    False    False    False    True     True          1142   IBM01142                  False    False    False    False    True     True          1143   IBM01143                  False    False    False    False    True     True          1144   IBM01144                  False    False    False    False    True     True          1145   IBM01145                  False    False    False    False    True     True          1146   IBM01146                  False    False    False    False    True     True          1147   IBM01147                  False    False    False    False    True     True          1148   IBM01148                  False    False    False    False    True     True          1149   IBM01149                  False    False    False    False    True     True          1200   utf-16                    False    True     False    False    False    True          1201   unicodeFFFE               False    False    False    False    False    True          1250   windows-1250              True     True     True     True     True     True          1251   windows-1251              True     True     True     True     True     True          1252   Windows-1252              True     True     True     True     True     True          1253   windows-1253              True     True     True     True     True     True          1254   windows-1254              True     True     True     True     True     True          1255   windows-1255              True     True     True     True     True     True          1256   windows-1256              True     True     True     True     True     True          1257   windows-1257              True     True     True     True     True     True          1258   windows-1258              True     True     True     True     True     True          1361   Johab                     False    False    False    False    False    True          10000  macintosh                 False    False    False    False    True     True          10001  x-mac-japanese            False    False    False    False    False    True          10002  x-mac-chinesetrad         False    False    False    False    False    True          10003  x-mac-korean              False    False    False    False    False    True          10004  x-mac-arabic              False    False    False    False    True     True          10005  x-mac-hebrew              False    False    False    False    True     True          10006  x-mac-greek               False    False    False    False    True     True          10007  x-mac-cyrillic            False    False    False    False    True     True          10008  x-mac-chinesesimp         False    False    False    False    False    True          10010  x-mac-romanian            False    False    False    False    True     True          10017  x-mac-ukrainian           False    False    False    False    True     True          10021  x-mac-thai                False    False    False    False    True     True          10029  x-mac-ce                  False    False    False    False    True     True          10079  x-mac-icelandic           False    False    False    False    True     True          10081  x-mac-turkish             False    False    False    False    True     True          10082  x-mac-croatian            False    False    False    False    True     True          20000  x-Chinese-CNS             False    False    False    False    False    True          20001  x-cp20001                 False    False    False    False    False    True          20002  x-Chinese-Eten            False    False    False    False    False    True          20003  x-cp20003                 False    False    False    False    False    True          20004  x-cp20004                 False    False    False    False    False    True          20005  x-cp20005                 False    False    False    False    False    True          20105  x-IA5                     False    False    False    False    True     True          20106  x-IA5-German              False    False    False    False    True     True          20107  x-IA5-Swedish             False    False    False    False    True     True          20108  x-IA5-Norwegian           False    False    False    False    True     True          20127  us-ascii                  False    False    True     True     True     True          20261  x-cp20261                 False    False    False    False    False    True          20269  x-cp20269                 False    False    False    False    True     True          20273  IBM273                    False    False    False    False    True     True          20277  IBM277                    False    False    False    False    True     True          20278  IBM278                    False    False    False    False    True     True          20280  IBM280                    False    False    False    False    True     True          20284  IBM284                    False    False    False    False    True     True          20285  IBM285                    False    False    False    False    True     True          20290  IBM290                    False    False    False    False    True     True          20297  IBM297                    False    False    False    False    True     True          20420  IBM420                    False    False    False    False    True     True          20423  IBM423                    False    False    False    False    True     True          20424  IBM424                    False    False    False    False    True     True          20833  x-EBCDIC-KoreanExtended   False    False    False    False    True     True          20838  IBM-Thai                  False    False    False    False    True     True          20866  koi8-r                    True     True     True     True     True     True          20871  IBM871                    False    False    False    False    True     True          20880  IBM880                    False    False    False    False    True     True          20905  IBM905                    False    False    False    False    True     True          20924  IBM00924                  False    False    False    False    True     True          20932  EUC-JP                    False    False    False    False    False    True          20936  x-cp20936                 False    False    False    False    False    True          20949  x-cp20949                 False    False    False    False    False    True          21025  cp1025                    False    False    False    False    True     True          21866  koi8-u                    True     True     True     True     True     True          28591  iso-8859-1                True     True     True     True     True     True          28592  iso-8859-2                True     True     True     True     True     True          28593  iso-8859-3                False    False    True     True     True     True          28594  iso-8859-4                True     True     True     True     True     True          28595  iso-8859-5                True     True     True     True     True     True          28596  iso-8859-6                True     True     True     True     True     True          28597  iso-8859-7                True     True     True     True     True     True          28598  iso-8859-8                True     True     False    False    True     True          28599  iso-8859-9                True     True     True     True     True     True          28603  iso-8859-13               False    False    False    False    True     True          28605  iso-8859-15               False    True     True     True     True     True          29001  x-Europa                  False    False    False    False    True     True          38598  iso-8859-8-i              True     True     True     True     True     True          50220  iso-2022-jp               False    False    True     True     False    True          50221  csISO2022JP               False    True     True     True     False    True          50222  iso-2022-jp               False    False    False    False    False    True          50225  iso-2022-kr               False    False    True     False    False    True          50227  x-cp50227                 False    False    False    False    False    True          51932  euc-jp                    True     True     True     True     False    True          51936  EUC-CN                    False    False    False    False    False    True          51949  euc-kr                    False    False    True     True     False    True          52936  hz-gb-2312                True     True     True     True     False    True          54936  GB18030                   True     True     True     True     False    True          57002  x-iscii-de                False    False    False    False    False    True          57003  x-iscii-be                False    False    False    False    False    True          57004  x-iscii-ta                False    False    False    False    False    True          57005  x-iscii-te                False    False    False    False    False    True          57006  x-iscii-as                False    False    False    False    False    True          57007  x-iscii-or                False    False    False    False    False    True          57008  x-iscii-ka                False    False    False    False    False    True          57009  x-iscii-ma                False    False    False    False    False    True          57010  x-iscii-gu                False    False    False    False    False    True          57011  x-iscii-pa                False    False    False    False    False    True          65000  utf-7                     False    False    True     True     False    True          65001  utf-8                     True     True     True     True     False    True          65005  utf-32                    False    False    False    False    False    True          65006  utf-32BE                  False    False    False    False    False    True               */  

 

.NET中进行Base64加密解密