2#ifndef _security_cryptography_rng_crypto_service_provider_h_
3#define _security_cryptography_rng_crypto_service_provider_h_
5#include <security/cryptography/random_number_generator.h>
8#ifdef ASPOSECPPLIB_BEING_BUILT
9#include <botan/auto_rng.h>
15 ASPOSECPP_3RD_PARTY_CLASS(AutoSeeded_RNG);
19namespace System {
namespace Security {
namespace Cryptography {
41 ASPOSECPP_SHARED_API
void GetBytes(System::Details::ArrayView<uint8_t> bytes)
override;
44 ASPOSECPP_SHARED_API
void GetNonZeroBytes(System::Details::ArrayView<uint8_t> bytes)
override;
48 std::unique_ptr<Botan::AutoSeeded_RNG> m_rng;
Radom number generator that follows CSP notion. Objects of this class should only be allocated using ...
Definition: rng_crypto_service_provider.h:26
void GetNonZeroBytes(ArrayPtr< uint8_t > bytes) override
Fills existing array elements with random non-zero bytes.
void GetBytes(System::Details::ArrayView< uint8_t > bytes) override
Fills existing array view elements with random bytes.
virtual ~RNGCryptoServiceProvider()
Destructor.
RNGCryptoServiceProvider()
Constructor.
void GetBytes(ArrayPtr< uint8_t > bytes) override
Fills existing array elements with random bytes.
void GetNonZeroBytes(System::Details::ArrayView< uint8_t > bytes) override
Fills existing array view elements with random non-zero bytes.
Abstract class for random number generators to inherit from. Objects of this class should only be all...
Definition: random_number_generator.h:19
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: smart_ptr.h:180
Definition: db_command.h:9