2014-12-11 10:50:15 +03:00
|
|
|
// Copyright (c) 2012-2014 Konstantin Isakov <ikm@zbackup.org> and ZBackup contributors, see CONTRIBUTORS
|
2014-10-10 13:50:55 +04:00
|
|
|
// Part of ZBackup. Licensed under GNU GPLv2 or later + OpenSSL, see LICENSE
|
2013-07-18 21:33:25 +04:00
|
|
|
|
|
|
|
#include "random.hh"
|
|
|
|
#include <openssl/rand.h>
|
|
|
|
|
|
|
|
namespace Random {
|
2014-12-15 14:13:34 +03:00
|
|
|
void generateTrue( void * buf, unsigned size )
|
2013-07-18 21:33:25 +04:00
|
|
|
{
|
|
|
|
if ( RAND_bytes( (unsigned char *) buf, size ) != 1 )
|
|
|
|
throw exCantGenerate();
|
|
|
|
}
|
|
|
|
|
2014-12-15 14:13:34 +03:00
|
|
|
void generatePseudo( void * buf, unsigned size )
|
2013-07-18 21:33:25 +04:00
|
|
|
{
|
|
|
|
if ( RAND_pseudo_bytes( (unsigned char *) buf, size ) < 0 )
|
|
|
|
throw exCantGenerate();
|
|
|
|
}
|
|
|
|
}
|