[DllImport("des64.dll")]
private static extern void b64_des(StringBuilder in_str, StringBuilder out_str, string key, int lenth, uint option);
///第一個參數就是你要進行加密解密的字串,第二個參數就是要輸出的字串,第三個是指定參數,第四個是字串長度,最後一個是加密解密參數。0加密 1解密。
[DllImport("des64.dll")]
private static extern int b64_size(int lenth, uint option);
/// <summary>
/// <param name="m_Str"></param>
/// <param name="m_key"></param>
/// <param name="flag"></param>
/// <returns></returns>
/// </summary>
public static string KeyOrNoKey(string m_Str,string m_key,uint flag)
{
int outLen = b64_size(m_Str.Length, flag);
StringBuilder Result = new StringBuilder(0xff);
Result.Capacity = outLen;
Result.Length = outLen;
StringBuilder Source = new StringBuilder(m_Str);
b64_des(Source, Result,m_key, m_Str.Length, flag);
string s = Result.ToString().Trim();
return Result.ToString().Trim();
}
這裡有個地方要注意。就是為什麼要用stringbuilder。因為那個參數是可變的。