strKey與strIV是用來加密的參數,可以替換任何字元但一定要8個字
//加密動作
private static string strKey = "toyo1234";
private static string strIV = "lovecode";
/// <summary>字串編碼</summary>
/// <param name="strSource">原始字串</param>
/// <returns>編碼後的結果字串</returns>
public static string enCrypt(string strSource)
{
MemoryStream ms = new MemoryStream();
DESCryptoServiceProvider key = new DESCryptoServiceProvider();
CryptoStream encStream = new CryptoStream(ms, key.CreateEncryptor(Encoding.Default.GetBytes(strKey), Encoding.Default.GetBytes(strIV)), CryptoStreamMode.Write);
StreamWriter sw = new StreamWriter(encStream);
sw.WriteLine(strSource);
sw.Close();
encStream.Close();
byte[] buffer = ms.ToArray();
ms.Close();
return Convert.ToBase64String(buffer);
}
/// <summary>字串解碼</summary>
/// <param name="strSource">加密過的字串</param>
/// <returns>解碼後的結果字串</returns>
public static string deCrypt(string strSource)
{
MemoryStream ms = new MemoryStream(Convert.FromBase64String(strSource));
DESCryptoServiceProvider key = new DESCryptoServiceProvider();
CryptoStream encStream = new CryptoStream(ms, key.CreateDecryptor(Encoding.Default.GetBytes(strKey), Encoding.Default.GetBytes(strIV)), CryptoStreamMode.Read);
StreamReader sr = new StreamReader(encStream);
string val = sr.ReadLine();
sr.Close();
encStream.Close();
ms.Close();
return val;
}