データブロックを暗号化する。(BCryptEncrypt)
BCryptEncrypt hKey, pbInput, cbInput, pPaddingInfo, pbIV, cbIV, pbOutput, cbOutput, pcbResult, dwFlags
hKey : [int] データ暗号化に使用する鍵のハンドル。BCryptGenerateSymmetricKey、BCryptGenerateKeyPair、BCryptImportKey などで取得する。 pbInput : [var] 暗号化する平文を格納したバッファのアドレス。サイズは cbInput で指定する。詳細は Remarks 参照。 cbInput : [int] pbInput バッファ中で暗号化するバイト数。 pPaddingInfo : [intptr] パディング情報構造体へのポインタ。非対称鍵または認証付き暗号モード使用時のみ指定。認証付き暗号モードでは BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO を指す必要がある。それ以外では NULL を指定する。 pbIV : [var] 暗号化時の初期化ベクタ (IV) を格納したバッファのアドレス。関数はこのバッファの内容を変更するため再利用時は事前コピーが必要。IV を使わない場合は NULL 可。必要サイズは BCRYPT_BLOCK_LENGTH プロパティで取得する。 cbIV : [int] pbIV バッファのサイズ(バイト単位)。 pbOutput : [var] 暗号文を受け取るバッファのアドレス。NULL を渡すと必要サイズを計算し pcbResult に格納して STATUS_SUCCESS を返す。pPaddingInfo は変更されない。pbOutput と pbInput が両方 NULL の場合は認証付き暗号モード以外ではエラーとなる。 cbOutput : [int] pbOutput バッファのサイズ(バイト単位)。pbOutput が NULL の場合は無視される。 pcbResult : [var] pbOutput バッファにコピーされたバイト数を受け取る ULONG 変数へのポインタ。pbOutput が NULL の場合、必要な暗号文サイズを受け取る。 dwFlags : [int] 関数の動作を変更するフラグ群。許容されるフラグは hKey の種類によって異なる。
(プラグイン / モジュール : bcrypt.dll)
データブロックを暗号化する。(BCryptEncrypt) [戻り値] 関数の成否を示すステータスコードを返す。 主な戻り値は以下の通り。 (以下省略) [備考] pbInput と pbOutput は同一でもよくインプレース暗号化となる。暗号化後データが元より大きくなる場合があるためバッファサイズに注意。別バッファの場合は重なってはならない。DISPATCH_LEVEL で呼ぶ場合の制約は他の BCrypt 関数と同様。カーネルモードでは Cng.lib(Windows Server 2008/Vista では Ksecdd.lib)を使用する。
| プラグイン / モジュール | bcrypt.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の bcrypt.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_bcrypt_gen2.hs |