Condividi tramite


Funzione CreateMD5SSOHash (winineti.h)

La funzione CreateMD5SSOHash ottiene la password predefinita di Microsoft Passport per un account o un'area di autenticazione specificata, crea un hash MD5 usando una stringa di verifica di caratteri wide specificata e restituisce il risultato come stringa di byte esadecimali.

Sintassi

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

Parametri

[in] pszChallengeInfo

Puntatore alla stringa di verifica dei caratteri wide da usare per l'hash MD5.

[in] pwszRealm

Puntatore a una stringa che assegna un nome a un'area di autenticazione per cui ottenere la password. Questo parametro viene ignorato a meno che pwszTarget non sia NULL. Se sia pwszTarget che pwszRealm sono NULL, viene usata l'area di autenticazione predefinita.

[in] pwszTarget

Puntatore a una stringa che assegna un nome a un account per il quale ottenere la password. Se pwszTarget è NULL, viene usata l'area di autenticazione indicata da pwszRealm .

[out] pbHexHash

Puntatore a un buffer di output in cui viene restituito l'hash MD5 in formato stringa esadecimale. Questo buffer deve avere una lunghezza di almeno 33 byte.

Valore restituito

Restituisce TRUE se l'operazione riesce o FALSE in caso contrario.

Commenti

Dopo che la funzione CreateMD5SSOHash ottiene correttamente la password di Microsoft Passport per l'account o l'area di autenticazione specificata, converte sia la stringa di verifica che la password da caratteri wide a caratteri a più byte (in genere a 8 bit), li concatena e usa la libreria RSA per generare un hash MD5 dalla chiave risultante. Converte quindi l'hash in una stringa con terminazione Null di cifre esadecimali a 8 bit (usando lettere minuscole) a cui punta il buffer a cui punta il parametro pbHexHash .

Il buffer di output a cui punta pbHexHash deve pertanto essere sufficiente per accettare due byte per ognuno dei 16 byte dell'hash, oltre a un carattere Null di terminazione, per un totale di 33 byte.

Come tutti gli altri aspetti dell'API WinINet, questa funzione non può essere chiamata in modo sicuro da DllMain o dai costruttori e distruttori di oggetti globali.

Nota WinINet non supporta le implementazioni del server. Inoltre, non deve essere usato da un servizio. Per le implementazioni del server o i servizi, usare i servizi HTTP di Microsoft Windows (WinHTTP).
 

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winineti.h (include Wininet.h)
Libreria Wininet.lib
DLL Wininet.dll

Vedi anche

Gestione dell'autenticazione

Funzioni WinINet