最近学着做文件加密
了解到关于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下,这样的定义该怎么处理呢???小菜一窍不通网上找了不少资料都没说这只是其中的一个参数,还有很多其他函数的参数不知道怎么处理
请问可以告诉我该怎么给这些函数赋值吗??
或者谁有关于这方面的链接,共享下好吗??
真的很感谢你们的关注。。
了解到关于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下,这样的定义该怎么处理呢???小菜一窍不通网上找了不少资料都没说这只是其中的一个参数,还有很多其他函数的参数不知道怎么处理
请问可以告诉我该怎么给这些函数赋值吗??
或者谁有关于这方面的链接,共享下好吗??
真的很感谢你们的关注。。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货