欢迎光临.
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]
今天用C#程序调用VC编译的dll文件,出现错误"无法加载DLL(XXX.DLL)",后来发现我的C#程序是用Visual Studio .net 2003开发的,那个dll是用.net 2005开发的。将dll的代码在.net 2003中编译后顺利通过加载。pig
Tags:
by 光光 | 来自 本站原创 | 不指定 2007/04/01 23:24 | 程序开发 | 评论(0) | 引用(0) | 阅读(514)
很好用的,一直在用它

//默认密钥向量
  private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
  /// <summary>
  /// DES加密字符串
  /// </summary>
  /// <param name="encryptString">待加密的字符串</param>
  /// <param name="encryptKey">加密密钥,要求为8位</param>
  /// <returns>加密成功返回加密后的字符串,失败返回源串</returns>
  public static string EncryptDES(string encryptString, string encryptKey)
  {
   try
   {
    byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
    byte[] rgbIV = Keys;
    byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
    DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
    MemoryStream mStream = new MemoryStream();
    CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
    cStream.Write(inputByteArray, 0, inputByteArray.Length);
    cStream.FlushFinalBlock();
    return Convert.ToBase64String(mStream.ToArray());
   }
   catch
   {
    return encryptString;
  
   }
  }
  /// <summary>
  /// DES解密字符串
  /// </summary>
  /// <param name="decryptString">待解密的字符串</param>
  /// <param name="decryptKey">解密密钥,要求为8位,和加密密钥相同</param>
  /// <returns>解密成功返回解密后的字符串,失败返源串</returns>
  public static string DecryptDES(string decryptString, string decryptKey)
  {

   try
   {
    byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey);
    byte[] rgbIV = Keys;
    byte[] inputByteArray = Convert.FromBase64String(decryptString);
    DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();
    MemoryStream mStream = new MemoryStream();
    CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
    cStream.Write(inputByteArray, 0, inputByteArray.Length);
    cStream.FlushFinalBlock();
    return Encoding.UTF8.GetString(mStream.ToArray());
   }
   catch(Exception exp)
   {
    return decryptString;
    MessageBox.Show(exp.Message);

   }
  }


Tags: ,
by 光光 | 来自 本站原创 | 不指定 2006/12/21 20:04 | 程序开发 | 评论(0) | 引用(0) | 阅读(429)
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]