CreateMD5SSOHash 関数 (winineti.h)
CreateMD5SSOHash 関数は、指定されたアカウントまたは領域の既定の Microsoft Passport パスワードを取得し、指定されたワイド文字チャレンジ文字列を使用して MD5 ハッシュを作成し、結果を 16 進数バイトの文字列として返します。
構文
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 ハッシュが 16 進文字列形式で返される出力バッファーへのポインター。 このバッファーの長さは 33 バイト以上である必要があります。
戻り値
成功した場合は TRUE 、それ以外の場合 は FALSE を 返します。
注釈
CreateMD5SSOHash 関数は、指定されたアカウントまたは領域の Microsoft Passport パスワードを正常に取得すると、チャレンジ文字列とパスワードの両方をワイド文字からマルチバイト (通常は 8 ビット) 文字に変換し、それらを連結し、RSA ライブラリを使用して結果のキーから MD5 ハッシュを生成します。 次に、ハッシュを 8 ビットの 16 進数 (小文字を使用) の null で終わる文字列に変換します。この文字列は 、pbHexHash パラメーターによって指されるバッファーに配置されます。
したがって 、pbHexHash が指す出力バッファーは、ハッシュの 16 バイトごとに 2 バイトを受け入れるのに十分な長さにし、合計で 33 バイトの 終端の null 文字を加える必要があります。
WinINet API の他のすべての側面と同様に、この関数を DllMain またはグローバル オブジェクトのコンストラクターとデストラクター内から安全に呼び出すことはできません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winineti.h (Wininet.h を含む) |
Library | Wininet.lib |
[DLL] | Wininet.dll |