1*b077aed3SPierre Pronchery=pod 2*b077aed3SPierre Pronchery{- OpenSSL::safe::output_do_not_edit_headers(); -} 3*b077aed3SPierre Pronchery 4*b077aed3SPierre Pronchery=head1 NAME 5*b077aed3SPierre Pronchery 6*b077aed3SPierre Proncheryopenssl-rand - generate pseudo-random bytes 7*b077aed3SPierre Pronchery 8*b077aed3SPierre Pronchery=head1 SYNOPSIS 9*b077aed3SPierre Pronchery 10*b077aed3SPierre ProncheryB<openssl rand> 11*b077aed3SPierre Pronchery[B<-help>] 12*b077aed3SPierre Pronchery[B<-out> I<file>] 13*b077aed3SPierre Pronchery[B<-base64>] 14*b077aed3SPierre Pronchery[B<-hex>] 15*b077aed3SPierre Pronchery{- $OpenSSL::safe::opt_engine_synopsis -}{- $OpenSSL::safe::opt_r_synopsis -} 16*b077aed3SPierre Pronchery{- $OpenSSL::safe::opt_provider_synopsis -} 17*b077aed3SPierre ProncheryI<num> 18*b077aed3SPierre Pronchery 19*b077aed3SPierre Pronchery=head1 DESCRIPTION 20*b077aed3SPierre Pronchery 21*b077aed3SPierre ProncheryThis command generates I<num> random bytes using a cryptographically 22*b077aed3SPierre Proncherysecure pseudo random number generator (CSPRNG). 23*b077aed3SPierre Pronchery 24*b077aed3SPierre ProncheryThe random bytes are generated using the L<RAND_bytes(3)> function, 25*b077aed3SPierre Proncherywhich provides a security level of 256 bits, provided it managed to 26*b077aed3SPierre Proncheryseed itself successfully from a trusted operating system entropy source. 27*b077aed3SPierre ProncheryOtherwise, the command will fail with a nonzero error code. 28*b077aed3SPierre ProncheryFor more details, see L<RAND_bytes(3)>, L<RAND(7)>, and L<EVP_RAND(7)>. 29*b077aed3SPierre Pronchery 30*b077aed3SPierre Pronchery=head1 OPTIONS 31*b077aed3SPierre Pronchery 32*b077aed3SPierre Pronchery=over 4 33*b077aed3SPierre Pronchery 34*b077aed3SPierre Pronchery=item B<-help> 35*b077aed3SPierre Pronchery 36*b077aed3SPierre ProncheryPrint out a usage message. 37*b077aed3SPierre Pronchery 38*b077aed3SPierre Pronchery=item B<-out> I<file> 39*b077aed3SPierre Pronchery 40*b077aed3SPierre ProncheryWrite to I<file> instead of standard output. 41*b077aed3SPierre Pronchery 42*b077aed3SPierre Pronchery=item B<-base64> 43*b077aed3SPierre Pronchery 44*b077aed3SPierre ProncheryPerform base64 encoding on the output. 45*b077aed3SPierre Pronchery 46*b077aed3SPierre Pronchery=item B<-hex> 47*b077aed3SPierre Pronchery 48*b077aed3SPierre ProncheryShow the output as a hex string. 49*b077aed3SPierre Pronchery 50*b077aed3SPierre Pronchery{- $OpenSSL::safe::opt_engine_item -} 51*b077aed3SPierre Pronchery 52*b077aed3SPierre Pronchery{- $OpenSSL::safe::opt_r_item -} 53*b077aed3SPierre Pronchery 54*b077aed3SPierre Pronchery{- $OpenSSL::safe::opt_provider_item -} 55*b077aed3SPierre Pronchery 56*b077aed3SPierre Pronchery=back 57*b077aed3SPierre Pronchery 58*b077aed3SPierre Pronchery=head1 SEE ALSO 59*b077aed3SPierre Pronchery 60*b077aed3SPierre ProncheryL<openssl(1)>, 61*b077aed3SPierre ProncheryL<RAND_bytes(3)>, 62*b077aed3SPierre ProncheryL<RAND(7)>, 63*b077aed3SPierre ProncheryL<EVP_RAND(7)> 64*b077aed3SPierre Pronchery 65*b077aed3SPierre Pronchery=head1 HISTORY 66*b077aed3SPierre Pronchery 67*b077aed3SPierre ProncheryThe B<-engine> option was deprecated in OpenSSL 3.0. 68*b077aed3SPierre Pronchery 69*b077aed3SPierre Pronchery=head1 COPYRIGHT 70*b077aed3SPierre Pronchery 71*b077aed3SPierre ProncheryCopyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved. 72*b077aed3SPierre Pronchery 73*b077aed3SPierre ProncheryLicensed under the Apache License 2.0 (the "License"). You may not use 74*b077aed3SPierre Proncherythis file except in compliance with the License. You can obtain a copy 75*b077aed3SPierre Proncheryin the file LICENSE in the source distribution or at 76*b077aed3SPierre ProncheryL<https://www.openssl.org/source/license.html>. 77*b077aed3SPierre Pronchery 78*b077aed3SPierre Pronchery=cut 79