CreateMD5SSOHash

CreateMD5SSOHash 関数 (wininet.h) は Microsoft Passport パスワードを取得し、特定の文字列を用いて MD5 ハッシュを作成し、その結果を返す。

CreateMD5SSOHash pszChallengeInfo, pwszRealm, pwszTarget, pbHexHash

pszChallengeInfo : [wstr] MD5 ハッシュに使用するワイド文字のチャレンジ文字列へのポインタ。
pwszRealm : [wstr] パスワードを取得する対象のレルム名を格納した文字列へのポインタ。本パラメータは pwszTarget が NULL の場合にのみ使用される。pwszTarget と pwszRealm の両方が NULL の場合、既定のレルムが使用される。
pwszTarget : [wstr] パスワードを取得する対象のアカウント名を格納した文字列へのポインタ。pwszTarget が NULL の場合、pwszRealm で指定されたレルムが使用される。
pbHexHash : [var] MD5 ハッシュが 16 進文字列形式で返される出力バッファへのポインタ。このバッファは少なくとも 33 バイトの長さがなければならない。

(プラグイン / モジュール : wininet.dll)

解説

CreateMD5SSOHash 関数 (wininet.h) は Microsoft Passport
パスワードを取得し、特定の文字列を用いて MD5 ハッシュを作成し、その結果を返す。

[戻り値]
成功した場合は TRUE を、失敗した場合は FALSE を返す。

[備考]
CreateMD5SSOHash 関数は、指定されたアカウントまたはレルムに対する Microsoft Passport
パスワードの取得に成功すると、チャレンジ文字列とパスワードの両方をワイド文字からマルチバイト文字 (一般に 8 ビット)
に変換し、それらを連結して、結果のキーから MD5 ハッシュを生成するために RSA ライブラリを使用する。続いてハッシュを
(小文字を使用した) 8 ビット 16 進数の null 終端文字列に変換し、pbHexHash
パラメータが指すバッファに格納する。したがって pbHexHash が指す出力バッファは、ハッシュの 16 バイト分それぞれに 2
バイト、加えて終端 null 文字 1 バイトの、合計 33 バイトを格納できる長さでなければならない。WinINet API
の他のすべての側面と同様に、本関数は DllMain
やグローバルオブジェクトのコンストラクタ・デストラクタの中から安全に呼び出すことはできない。注意: WinINet
はサーバー実装をサポートしていない。さらに、サービスから使用すべきでもない。サーバー実装やサービスでは Microsoft Windows
HTTP Services (WinHTTP) を使用すること。

情報

プラグイン / モジュールwininet.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の wininet.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_wininet_gen2.hs