RAND_bytes, RAND_pseudo_bytes - Generate random data
#include <openssl/rand.h>
int RAND_bytes(
unsigned char *buf, int num ); int
RAND_pseudo_bytes(
unsigned char *buf, int num );
The RAND_bytes() function puts num cryptographically
strong pseudo-random bytes into buf. An error occurs if
the PRNG has not been seeded with enough randomness to
ensure an unpredictable byte sequence.
The RAND_pseudo_bytes() function puts num pseudo-random
bytes into buf. Pseudo-random byte sequences generated by
the RAND_pseudo_bytes() function will be unique if they
are of sufficient length, but are not necessarily unpredictable.
They can be used for non-cryptographic purposes
and for certain purposes in cryptographic protocols, but
usually not for key generation etc.
The RAND_bytes() functon returns 1 on success, 0 otherwise.
The error code can be obtained by using
ERR_get_error(). The RAND_pseudo_bytes() function returns
1 if the bytes generated are cryptographically strong, 0
otherwise. Both functions return -1 if they are not supported
by the current RAND method.
The RAND_bytes() function is available in all versions of
SSLeay and OpenSSL. It has a return value since OpenSSL
0.9.5. The RAND_pseudo_bytes() function was added in
OpenSSL 0.9.5.
Functions: rand_ssl(3), err(3), RAND_add(3)
RAND_bytes(3)
[ Back ] |