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

パスワードを取得する領域の名前を指定する文字列へのポインター。 pwszTargetNULL でない限り、このパラメーターは無視されます。 pwszTargetpwszRealm の両方が NULL の場合、既定の領域が使用されます。

[in] pwszTarget

パスワードを取得するアカウントを指定する文字列へのポインター。 pwszTargetNULL の場合は、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 またはグローバル オブジェクトのコンストラクターとデストラクター内から安全に呼び出すことはできません。

メモ WinINet では、サーバーの実装はサポートされていません。 また、サービスから使用しないでください。 サーバーの実装またはサービスの場合は、 Microsoft Windows HTTP サービス (WinHTTP) を使用します。
 

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winineti.h (Wininet.h を含む)
Library Wininet.lib
[DLL] Wininet.dll

こちらもご覧ください

認証の処理

WinINet 関数