/// <summary>
/// 將字符串使用base64算法加密
/// </summary>
/// <param name="code_type">編碼類型(編碼名稱)
/// * 代碼頁 名稱
/// * 1200 "UTF-16LE"、"utf-16"、"ucs-2"、"unicode"或"ISO-10646-UCS-2"
/// * 1201 "UTF-16BE"或"unicodeFFFE"
/// * 1252 "windows-1252"
/// * 65000 "utf-7"、"csUnicode11UTF7"、"unicode-1-1-utf-7"、"unicode-2-0-utf-7"、"x-unicode-1-1-utf-7"或"x-unicode-2-0-utf-7"
/// * 65001 "utf-8"、"unicode-1-1-utf-8"、"unicode-2-0-utf-8"、"x-unicode-1-1-utf-8"或"x-unicode-2-0-utf-8"
/// * 20127 "us-ascii"、"us"、"ascii"、"ANSI_X3.4-1968"、"ANSI_X3.4-1986"、"cp367"、"csASCII"、"IBM367"、"iso-ir-6"、"ISO646-US"或"ISO_646.irv:1991"
/// * 54936 "GB18030"
/// </param>
/// <param name="code">待加密的字符串</param>
/// <returns>加密后的字符串</returns>
public string EncodeBase64(string code_type, string code)
{
string encode = "";
byte[] bytes = Encoding.GetEncoding(code_type).GetBytes(code); //將一組字符編碼為一個字節序列.
try
{
encode = Convert.ToBase64String(bytes); //將8位無符號整數數組的子集轉換為其等效的,以64為基的數字編碼的字符串形式.
}
catch
{
encode = code;
}
return encode;
}
/// <summary>
/// 將字符串使用base64算法解密
/// </summary>
/// <param name="code_type">編碼類型</param>
/// <param name="code">已用base64算法加密的字符串</param>
/// <returns>解密后的字符串</returns>
public string DecodeBase64(string code_type, string code)
{
string decode = "";
byte[] bytes = Convert.FromBase64String(code); //將2進制編碼轉換為8位無符號整數數組.
try
{
decode = Encoding.GetEncoding(code_type).GetString(bytes); //將指定字節數組中的一個字節序列解碼為一個字符串。
}
catch
{
decode = code;
}
return decode;
}
新聞熱點
疑難解答