Freigeben über


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.

Hinweis WinINet unterstützt keine Serverimplementierungen. Darüber hinaus sollte es nicht von einem Dienst aus verwendet werden. Verwenden Sie für Serverimplementierungen oder Dienste Microsoft Windows HTTP Services (WinHTTP).
 

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

Weitere Informationen

Behandeln der Authentifizierung

WinINet-Funktionen