...
The default random number provider implements an algorithm for generating random numbers that complies with the NIST SP800-90 standard, specifically the CTR_DRBG portion of that standard.
Code Block
bgColor #ccccff lang c #include <Windows.h> #include <bcrypt.h> #include <stdio.h> #pragma comment(lib, "Bcrypt") intvoid func(void) { BCRYPT_ALG_HANDLE Prov; int Buffer; if (!BCRYPT_SUCCESS( BCryptOpenAlgorithmProvider(&Prov, BCRYPT_RNG_ALGORITHM, NULL, 0))) { /* handle error */ } if (!BCRYPT_SUCCESS(BCryptGenRandom(Prov, (PUCHAR) (&Buffer), sizeof(Buffer), 0))) { /* handle error */ } printf("Random number: %d\n", Buffer); BCryptCloseAlgorithmProvider(Prov, 0); }
...