CreateMD5SSOHash 函式 (wininet.h)
CreateMD5SSOHash 函式會取得指定帳戶或領域的預設 Microsoft Passport 密碼、使用指定的寬字元挑戰字串從中建立 MD5 哈希,並以十六進位位位元組的字元串傳回結果。
語法
BOOL CreateMD5SSOHash(
[in] PWSTR pszChallengeInfo,
[in] PWSTR pwszRealm,
[in] PWSTR pwszTarget,
[out] PBYTE pbHexHash
);
參數
[in] pszChallengeInfo
要用於 MD5 哈希的寬字元挑戰字串指標。
[in] pwszRealm
字串的指標,該字串會命名要取得密碼的領域。 除非 pwszTarget 為 NULL,否則會忽略此參數。 如果 pwszTarget 和 pwszRealm 都是 NULL,則會使用默認領域。
[in] pwszTarget
字串的指標,該字串會命名要取得密碼的帳戶。 如果 pwszTarget 為 NULL,則會使用 pwszRealm 所指示的領域。
[out] pbHexHash
輸出緩衝區的指標,MD5 哈希會以十六進位字元串格式傳回。 此緩衝區長度必須至少為33個字節。
傳回值
如果成功,則傳回 TRUE ,否則傳回 FALSE 。
備註
一旦 CreateMD5SSOHash 函式成功取得指定帳戶或領域的 Microsoft Passport 密碼之後,它會將挑戰字串和密碼從寬字元轉換成多位元組 (通常是 8 位) 字元、串連它們,並使用 RSA 連結庫從產生的密鑰產生 MD5 哈希。 然後,它會使用小寫字母,將哈希轉換成以 null 結尾的 8 位十六進位 (數位字串,) 它放在 pbHexHash 參數指向的緩衝區中。
因此 ,pbHexHash 所指向的輸出緩衝區長度必須足以接受哈希 16 個字節的兩個字節,加上終止 Null 字元,總共 33 個字節。
就像 WinINet API 的其他所有層面一樣,無法在 DllMain 或全域物件的建構函式和解構函式內安全地呼叫此函式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | wininet.h (包括 Wininet.h) |
程式庫 | Wininet.lib |
Dll | Wininet.dll |