v1.4.4
This commit is contained in:
commit
9c94d113d3
10260 changed files with 1237388 additions and 0 deletions
21
source/core/StarSecureRandom_windows.cpp
Normal file
21
source/core/StarSecureRandom_windows.cpp
Normal file
|
@ -0,0 +1,21 @@
|
|||
#include "StarSecureRandom.hpp"
|
||||
#include <windows.h>
|
||||
#include <wincrypt.h>
|
||||
|
||||
namespace Star {
|
||||
|
||||
ByteArray secureRandomBytes(size_t size) {
|
||||
HCRYPTPROV context = 0;
|
||||
auto res = ByteArray(size, '\0');
|
||||
|
||||
CryptAcquireContext(&context, 0, MS_DEF_PROV, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT);
|
||||
auto success = CryptGenRandom(context, size, (PBYTE)res.ptr());
|
||||
CryptReleaseContext(context, 0);
|
||||
|
||||
if (!success)
|
||||
throw StarException("Could not read random bytes from source.");
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue