日期:2014-05-20  浏览次数:20835 次

急求:请问在.net2.0下怎么通过Win32 cryptoAPI进行文件加密
最近学着做文件加密
了解到关于CryptoAPI的一些内容
如cryptAcquireContext(),CryptCreateHash(),cryptGenKey()等等一些

函数

我知道在.net下有更方便的加密函数
但我真的很想知道怎么在C#.net下怎么通过dllimport来引用这些函数进行文件加


(引用函数方面已经解决)
现在是这些函数里面的一些参数,如
/*  
  BOOL WINAPI CryptCreateHash(  
  HCRYPTPROV hProv,  
  ALG_ID Algid,  
  HCRYPTKEY hKey,  
  DWORD dwFlags,  
  HCRYPTHASH *phHash  
  );  
  */  
  [DllImport("advapi32.dll")]  
  public static extern bool CryptCreateHash(  
  Intptr hProv,  
  uint Algid,  
  uint hKey,  
  uint dwFlags,  
  IntPtr phHash);  

后,这个Algid参数在.net下我该怎么赋值呢???
因为如果在VC下,可以这样定义
#define ALG_CLASS_HASH (4<<13)
#define ALG_TYPE_ANY (0)
#define ALG_SID_MDS 3
#define CALG_MD5  

(ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MDS )

bool bResult;
bResult=CryptCreateHash(
 hProv,
CALG_MD5,
0,
0,
&hHash);

在.net下,这样的定义该怎么处理呢???小菜一窍不通。。。网上找了不少资

料都没说。。。

这只是其中的一个参数,还有很多其他函数的参数不知道怎么处理
请问可以告诉我该怎么给这些函数赋值吗??
或者谁有关于这方面的链接,共享下好吗??
真的很

------解决方案--------------------
http://topic.csdn.net/u/20100502/22/c312dc0d-caad-4534-913e-283c900a8103.html