日期:2010-09-02  浏览次数:20383 次

  [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。因为那个参数是可变的。