共用方式為


CreateMD5SSOHash 函式 (winineti.h)

CreateMD5SSOHash 函式會取得指定帳戶或領域的預設 Microsoft Passport 密碼、使用指定的寬字元挑戰字串從中建立 MD5 哈希,並以十六進位位位元組的字元串傳回結果。

語法

BOOL CreateMD5SSOHash(
  [in]  PWSTR pszChallengeInfo,
  [in]  PWSTR pwszRealm,
  [in]  PWSTR pwszTarget,
  [out] PBYTE pbHexHash
);

參數

[in] pszChallengeInfo

要用於 MD5 哈希的寬字元挑戰字串指標。

[in] pwszRealm

字串的指標,該字串會命名要取得密碼的領域。 除非 pwszTargetNULL,否則會忽略此參數。 如果 pwszTargetpwszRealm 都是 NULL,則會使用默認領域。

[in] pwszTarget

字串的指標,該字串會命名要取得密碼的帳戶。 如果 pwszTargetNULL,則會使用 pwszRealm 所指示的領域。

[out] pbHexHash

輸出緩衝區的指標,MD5 哈希會以十六進位字元串格式傳回。 此緩衝區長度必須至少為33個字節。

傳回值

如果成功,則傳回 TRUE ,否則傳回 FALSE

備註

一旦 CreateMD5SSOHash 函式成功取得指定帳戶或領域的 Microsoft Passport 密碼之後,它會將挑戰字串和密碼從寬字元轉換成多位元組 (通常是 8 位) 字元、串連它們,並使用 RSA 連結庫從產生的密鑰產生 MD5 哈希。 然後,它會使用小寫字母,將哈希轉換成以 null 結尾的 8 位十六進位 (數位字串,) 它放在 pbHexHash 參數指向的緩衝區中。

因此 ,pbHexHash 所指向的輸出緩衝區長度必須足以接受哈希 16 個字節的兩個字節,加上終止 Null 字元,總共 33 個字節。

就像 WinINet API 的其他所有層面一樣,無法在 DllMain 或全域物件的建構函式和解構函式內安全地呼叫此函式。

注意 WinINet 不支援伺服器實作。 此外,它不應該從服務使用。 對於伺服器實作或服務,請使用 Microsoft Windows HTTP 服務 (WinHTTP)
 

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 winineti.h (包括 Wininet.h)
程式庫 Wininet.lib
Dll Wininet.dll

另請參閱

處理驗證

WinINet 函式