进来看看呀,十分着急!!!谢谢!!!(高难度问题)(50分)

  • 主题发起人 主题发起人 sjw16
  • 开始时间 开始时间
S

sjw16

Unregistered / Unconfirmed
GUEST, unregistred user!
问题如下:
在窗体上有两个编辑框,一个按钮。一个编辑框用于输入明文,当按下按钮时,
就会在第二个编辑框出现密文。要调用的三个函数如下:
CryptAcquireContext(
@hProv,
pszContainer,
pszProvider,
dwProvType,
dwFlags)
参数类型为:
hProv :HCRYPTPROV;
pszContainer :LPAWSTR;
pszProvider :LPAWSTR;
dwProvType :DWORD;
dwFlags :DWORD;
取值为:
pszContainer:=nil;
pszProvider:='Microsoft Base Cryptographic Provider v1.0';
dwProvType:=PROV_RSA_FULL;
dwFlags:=0;
这样就可以获得一个句柄(用于第二个函数)。
再调用第二个函数:
CryptGenKey(hProv,
Algid,
dwFlags,
@hKey),
参数类型为:
hprov就是从第一个函数获的的。
Algid:=AT_KEYEXCHANGE;
dwFlags:=0;
hKey:HCRYPTKEY(获得的句柄用于第三个函数);
第三个函数:
CryptEncrypt(hKey,
hhash,
Final,
dwflags,
pbData, //明文 &amp
密文
@dwDataLen, //明文长度 &amp
密文长度
dwbuflen);//缓冲区
参数类型为:
hKey:HCRYPTKEY ,
hHash: HCRYPTHASH ,
Final: BOOL ,
dwFlags: DWORD ,
pbData: PBYTE ,
pdwDataLen: PDWORD ,
dwBufLen: DWORD ,
取值为:
hKey(从第二个函数字获得);
hHash:=0;
Final:=true;
dwFlags:=0;
希望各位多帮助哟十分着急其中前两个函数的调用是正确的。
第三个函数的pbData,@dwDataLen不知道怎么转换?


 
请问在哪里有关于cryptoapi函数的delphi源程序下载?
谢谢各位的帮助。!!!!
 
接受答案了.
 
后退
顶部