58aa9625720aaee46306a8aa48689b32f83941ff
[openssl.git] / doc / man3 / RAND_bytes.pod
1 =pod
2
3 =head1 NAME
4
5 RAND_bytes, RAND_pseudo_bytes - generate random data
6
7 =head1 SYNOPSIS
8
9  #include <openssl/rand.h>
10
11  int RAND_bytes(unsigned char *buf, int num);
12
13 Deprecated:
14
15  #if OPENSSL_API_COMPAT < 0x10100000L
16  int RAND_pseudo_bytes(unsigned char *buf, int num);
17  #endif
18
19 =head1 DESCRIPTION
20
21 RAND_bytes() puts B<num> cryptographically strong pseudo-random bytes
22 into B<buf>. An error occurs if the PRNG has not been seeded with
23 enough randomness to ensure an unpredictable byte sequence.
24
25 RAND_pseudo_bytes() has been deprecated; use RAND_bytes() instead.
26
27 The contents of B<buf> is mixed into the entropy pool before retrieving
28 the new pseudo-random bytes unless disabled at compile time (see FAQ).
29
30 =head1 RETURN VALUES
31
32 RAND_bytes() returns 1 on success, -1 if not supported by the current
33 RAND method, or 0 on other failure. The error code can be
34 obtained by L<ERR_get_error(3)>.
35
36 =head HISTORY
37
38 RAND_pseudo_bytes() was deprecated in OpenSSL 1.1.0.
39
40 =head1 SEE ALSO
41
42 L<RAND_bytes(3)>, L<ERR_get_error(3)>,
43 L<RAND_add(3)>
44
45 =head1 COPYRIGHT
46
47 Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.
48
49 Licensed under the OpenSSL license (the "License").  You may not use
50 this file except in compliance with the License.  You can obtain a copy
51 in the file LICENSE in the source distribution or at
52 L<https://www.openssl.org/source/license.html>.
53
54 =cut