xref: /openbmc/phosphor-net-ipmid/prng.hpp (revision 8977d12a)
1*8977d12aSVernon Mauery #include <openssl/rand.h>
2*8977d12aSVernon Mauery 
3*8977d12aSVernon Mauery namespace crypto
4*8977d12aSVernon Mauery {
5*8977d12aSVernon Mauery 
6*8977d12aSVernon Mauery struct prng
7*8977d12aSVernon Mauery {
randcrypto::prng8*8977d12aSVernon Mauery     static unsigned int rand()
9*8977d12aSVernon Mauery     {
10*8977d12aSVernon Mauery         unsigned int v;
11*8977d12aSVernon Mauery         RAND_bytes(reinterpret_cast<unsigned char*>(&v), sizeof(v));
12*8977d12aSVernon Mauery         return v;
13*8977d12aSVernon Mauery     }
14*8977d12aSVernon Mauery };
15*8977d12aSVernon Mauery 
16*8977d12aSVernon Mauery } // namespace crypto
17