0
沒有人有CryptGenrRandom類的工作示例生成會話ID(需要在我的iis模塊中使用)。CryptGenRandom生成asp.net會話ID
HCRYPTPROV hCryptProv;
BYTE pbData[16];
if(CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT))
{
if(CryptGenRandom(hCryptProv, 8, pbData))
{
std::string s((const char *) pbData);
printf(s.c_str());
}
else
{
MyHandleError("Error during CryptGenRandom.");
}
}
else
{
MyHandleError("Error during CryptAcquireContext!\n");
}
我想這段代碼,但它不工作得很好(我從MSDN獲得它),這個例子沒有爲我工作(http://www.codeproject.com/KB/security/plaintextsessionkey.aspx)
所以如果有人知道如何使用生成的SessionID這個班級PLZ讓我知道
tnx反正!
問題的代碼,我貼的是我得到了奇怪的結果(如十六進制字符串,而我不真的知道如何將其轉換成字符串會話(數字和字符alfabet) ,第二個問題是該字符串不是大inaf(我需要15個字符輸出) codeproject的例子的問題是,如果在線pbExportedKeyBlob = new BYTE [dwSize];失敗是「未處理的異常在0x7c812afb SessionExample01.exe:Microsoft C++異常:內存位置0x0012fe08處的std :: bad_alloc ..「 tnx任何幫助 bye – DoDo 2010-01-18 07:04:44
有沒有一個原因,你不能只是一個GUID?請參閱CoCreateGuid(http://msdn.microsoft.com/en-us/library/ms688568(VS.85).aspx) - 似乎它會比隨機數字更適合 - 您可能會得到相同的結果隨機數會話ID不止一次 - 一個guid基本上保證是唯一的 - 它或多或少都是隨機的。 – Ruddy 2010-01-18 23:05:37
Guids可能是可預測的,因此會有點不安全的會話ID。 – 2010-05-04 19:28:14