|
Boost : |
Subject: Re: [boost] Boost.Uuid and header-only support
From: Peter Dimov (lists_at_[hidden])
Date: 2017-11-06 13:38:37
James E. King, III wrote:
> I'm planning to change random_generator to use the header-only
> random_device based on points made in this discussion:
>
> 1. It is more secure.
> 2. I believe it is the most widely used use case: generating a uuid
> relatively infrequently (i.e. not in bulk).
Thanks.
> Therefore it will look something like this:
>
> //
> // The default random_generator uses operating-system provided entropy,
> // is the most secure, and fastest random uuid generator for creating a
> // small number of uuids with a single generator because it does not need
> // expensive seeding to be effective like a PseudoRandomNumberGenerator
> // does.
> //
> typedef basic_random_generator<detail::random::random_device>
> random_generator;
I suggest
class random_generator {
public:
typedef uuid result_type;
random_generator();
uuid operator()();
};
that is, not using basic_random_generator here at all. There is no need to
go through a URNG in this case; random bytes can and should be obtained
directly from the OS API.
> typedef basic_random_generator<mt19937> random_generator_bulk;
If we guarantee that this will always use mt19937, it might be better to
just call it random_generator_mt19937.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk