CryptGenRandom 乱数の生成

Cの宣言:

BOOL CryptGenRandom(HCRYPTPROV hProvider, DWORD BufLen, BYTE Buf);

説明:

指定された長さの乱数列を生成する。

引数の意味は、以下の通り。
hProvider (IN) 鍵コンテナのハンドル。
BufLen (IN) 生成する乱数列の長さ。
Buf (OUT) 生成された乱数列が格納されるバッファ。

戻り値は、関数の実行に成功したか否かを表す真偽値である。

Cのサンプル:

デフォルトCSPのデフォルトキーコンテナを使用して100バイトの乱数列を生成し、表示する。
void DispRandom()
{
	HCRYPTPROV hProv;
	BYTE buf[100];
	int i;

	/* デフォルト鍵コンテナの取得 */
	CryptAcquireContext(&hProv, NULL, NULL, PROV_RSA_FULL, 0);

	/* 乱数生成 */
	 CryptGenRandom(hProv, 100, buf);

	/* 生成した乱数を表示 */
	for(i=0; i<100; i++) printf("%02x ", buf[i]);
	printf("\n");

	/* 鍵コンテナの開放 */
	CryptReleaseContext(hProv, 0);
}

(original text:1998/12/28 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。