CreateMD5SSOHash-Funktion (winineti.h)
Die CreateMD5SSOHash-Funktion ruft das Standardkennwort von Microsoft Passport für ein angegebenes Konto oder Einen angegebenen Bereich ab, erstellt einen MD5-Hash daraus mit einer angegebenen Breitzeichen-Challenge-Zeichenfolge und gibt das Ergebnis als Zeichenfolge von hexadezimalen Bytes zurück.
Syntax
BOOL CreateMD5SSOHash(
[in] PWSTR pszChallengeInfo,
[in] PWSTR pwszRealm,
[in] PWSTR pwszTarget,
[out] PBYTE pbHexHash
);
Parameter
[in] pszChallengeInfo
Zeiger auf die Breitzeichen-Challenge-Zeichenfolge, die für den MD5-Hash verwendet werden soll.
[in] pwszRealm
Zeiger auf eine Zeichenfolge, die einen Bereich benennt, für den das Kennwort abgerufen werden soll. Dieser Parameter wird ignoriert, es sei denn , pwszTarget ist NULL. Wenn pwszTarget und pwszRealmNULL sind, wird der Standardbereich verwendet.
[in] pwszTarget
Zeiger auf eine Zeichenfolge, die ein Konto benennt, für das das Kennwort abgerufen werden soll. Wenn pwszTargetNULL ist, wird der von pwszRealm angegebene Bereich verwendet.
[out] pbHexHash
Zeiger auf einen Ausgabepuffer, in den der MD5-Hash im Hexadezimalzeichenfolgenformat zurückgegeben wird. Dieser Puffer muss mindestens 33 Bytes lang sein.
Rückgabewert
Gibt TRUE zurück, wenn der Vorgang erfolgreich war, oder andernfalls FALSE .
Hinweise
Sobald die CreateMD5SSOHash-Funktion das Microsoft Passport-Kennwort für das angegebene Konto oder den angegebenen Bereich erfolgreich abgerufen hat, konvertiert sie sowohl die Challenge-Zeichenfolge als auch das Kennwort aus Breitzeichen in Mehrbytezeichen (in der Regel 8-Bit) Zeichen, verkettet sie und verwendet die RSA-Bibliothek, um einen MD5-Hash aus dem resultierenden Schlüssel zu generieren. Anschließend konvertiert er den Hash in eine null-beendete Zeichenfolge aus 8-Bit-Hexadezimalstellen (unter Verwendung von Kleinbuchstaben), die in dem Puffer platziert werden, auf den der pbHexHash-Parameter verweist.
Der Ausgabepuffer, auf den pbHexHash verweist, muss daher lang genug sein, um zwei Bytes für jede der 16 Bytes des Hashs zu akzeptieren, plus ein beendendes NULL-Zeichen für insgesamt 33 Bytes.
Wie alle anderen Aspekte der WinINet-API kann diese Funktion nicht sicher innerhalb von DllMain oder den Konstruktoren und Destruktoren globaler Objekte aufgerufen werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winineti.h (einschließlich Wininet.h) |
Bibliothek | Wininet.lib |
DLL | Wininet.dll |