/// <summary>
/// 解碼 CP定義 的 加密資料
/// 最左邊字元為 "(" 最右邊為 ")" ,則視為 加密資料 則為 加密資料,就自動解密 回填
/// 否則 直接返回 原字串
/// </summary>
/// <param name="strData"></param>
/// <returns></returns>
public static string DeCode_CP密文資料(string strData)
{
strData = strData.Trim();
if (strData.Length > 0)
{
if (strData.Substring(0, 1) == "("
&& strData.Substring(strData.Length - 1, 1) == ")")
{
//進行 CP定義的格式 解密
string BASE64_strTmp = strData.Substring(1, (strData.Length - 1) - 1); //去除 前後括號
//AES 解密
string tmp = AES_decrypt(BASE64_strTmp, "WOWOW"); //KEYWORD = "WOWOW"
//去除 頭/尾 3碼 亂數字串
if (strData.Length > 6)
{
strData = tmp.Substring(3, (tmp.Length - 3) - 3);
}
}
}
return strData;
}
/// <summary>
/// 加密 CP定義 的 加密資料
/// 最左邊字元為 "(" 最右邊為 ")" ,則視為 已加密資料 直接返回 原字串
/// 否則 將輸入資料 進行加密 , 並加入最左邊字元為 "(" 最右邊為 ")" 回填
/// </summary>
/// <param name="strData"></param>
/// <returns></returns>
public static string EnCode_CP密文資料(string strData)
{
strData = strData.Trim();
if (strData.Length > 0)
{
if (strData.Substring(0, 1) == "("
&& strData.Substring(strData.Length - 1, 1) == ")")
{
//已加密
//不進行處理
}
else
{
Thread.Sleep(10);
Random r = new Random(Environment.TickCount);
//尚未 加密,原始字串 頭/尾 各加入 3碼 亂數字串
string tmp = r.Next(0, 999).ToString().PadLeft(3, '0')
+ strData
+ r.Next(0, 999).ToString().PadLeft(3, '0');
//進行 加密
tmp = AES_encrypt(tmp, "WOWOW");
//string ttt = AES_decrypt(tmp, "WOWOW");
//並加入最左邊字元為 "(" 最右邊為 ")"
strData = "(" + tmp + ")";
}
}
return strData;
}
/// 解碼 CP定義 的 加密資料
/// 最左邊字元為 "(" 最右邊為 ")" ,則視為 加密資料 則為 加密資料,就自動解密 回填
/// 否則 直接返回 原字串
/// </summary>
/// <param name="strData"></param>
/// <returns></returns>
public static string DeCode_CP密文資料(string strData)
{
strData = strData.Trim();
if (strData.Length > 0)
{
if (strData.Substring(0, 1) == "("
&& strData.Substring(strData.Length - 1, 1) == ")")
{
//進行 CP定義的格式 解密
string BASE64_strTmp = strData.Substring(1, (strData.Length - 1) - 1); //去除 前後括號
//AES 解密
string tmp = AES_decrypt(BASE64_strTmp, "WOWOW"); //KEYWORD = "WOWOW"
//去除 頭/尾 3碼 亂數字串
if (strData.Length > 6)
{
strData = tmp.Substring(3, (tmp.Length - 3) - 3);
}
}
}
return strData;
}
/// <summary>
/// 加密 CP定義 的 加密資料
/// 最左邊字元為 "(" 最右邊為 ")" ,則視為 已加密資料 直接返回 原字串
/// 否則 將輸入資料 進行加密 , 並加入最左邊字元為 "(" 最右邊為 ")" 回填
/// </summary>
/// <param name="strData"></param>
/// <returns></returns>
public static string EnCode_CP密文資料(string strData)
{
strData = strData.Trim();
if (strData.Length > 0)
{
if (strData.Substring(0, 1) == "("
&& strData.Substring(strData.Length - 1, 1) == ")")
{
//已加密
//不進行處理
}
else
{
Thread.Sleep(10);
Random r = new Random(Environment.TickCount);
//尚未 加密,原始字串 頭/尾 各加入 3碼 亂數字串
string tmp = r.Next(0, 999).ToString().PadLeft(3, '0')
+ strData
+ r.Next(0, 999).ToString().PadLeft(3, '0');
//進行 加密
tmp = AES_encrypt(tmp, "WOWOW");
//string ttt = AES_decrypt(tmp, "WOWOW");
//並加入最左邊字元為 "(" 最右邊為 ")"
strData = "(" + tmp + ")";
}
}
return strData;
}
沒有留言:
張貼留言