Partager via


CreateMD5SSOHash, fonction (wininet.h)

La fonction CreateMD5SSOHash obtient le mot de passe Microsoft Passport par défaut pour un compte ou un domaine spécifié, crée un hachage MD5 à partir de celui-ci à l’aide d’une chaîne de défi à caractères larges spécifiée et retourne le résultat sous la forme d’une chaîne d’octets hexadécimaux de chiffres.

Syntaxe

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

Paramètres

[in] pszChallengeInfo

Pointeur vers la chaîne de défi à caractères larges à utiliser pour le hachage MD5.

[in] pwszRealm

Pointeur vers une chaîne qui nomme un domaine pour lequel obtenir le mot de passe. Ce paramètre est ignoré, sauf si pwszTarget a la valeur NULL. Si pwszTarget et pwszRealm ont la valeur NULL, le domaine par défaut est utilisé.

[in] pwszTarget

Pointeur vers une chaîne qui nomme un compte pour lequel obtenir le mot de passe. Si pwszTarget a la valeur NULL, le domaine indiqué par pwszRealm est utilisé.

[out] pbHexHash

Pointeur vers une mémoire tampon de sortie dans laquelle le hachage MD5 est retourné au format de chaîne hexadécimale. Cette mémoire tampon doit avoir au moins 33 octets de long.

Valeur retournée

Retourne LA valeur TRUE si elle réussit ou FALSE dans le cas contraire.

Remarques

Une fois que la fonction CreateMD5SSOHash a obtenu le mot de passe Microsoft Passport pour le compte ou le domaine spécifié, elle convertit à la fois la chaîne de défi et le mot de passe de caractères larges en caractères multi-octets (généralement 8 bits), les concatène et utilise la bibliothèque RSA pour générer un hachage MD5 à partir de la clé résultante. Il convertit ensuite le hachage en chaîne null de chiffres hexadécimaux 8 bits (à l’aide de lettres minuscules) qu’il place dans la mémoire tampon pointée par le paramètre pbHexHash .

La mémoire tampon de sortie pointée par pbHexHash doit donc être suffisamment longue pour accepter deux octets pour chacun des 16 octets du hachage, plus un caractère null de fin, pour un total de 33 octets.

Comme tous les autres aspects de l’API WinINet, cette fonction ne peut pas être appelée en toute sécurité à partir de DllMain ou des constructeurs et destructeurs d’objets globaux.

Note WinINet ne prend pas en charge les implémentations de serveur. En outre, il ne doit pas être utilisé à partir d’un service. Pour les implémentations de serveur ou les services, utilisez Microsoft Windows HTTP Services (WinHTTP).
 

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête wininet.h (inclure Wininet.h)
Bibliothèque Wininet.lib
DLL Wininet.dll

Voir aussi

Gestion de l’authentification

Fonctions WinINet