Provided by: libdata-entropy-perl_0.008-1_all bug

NAME

       Data::Entropy - entropy (randomness) management

SYNOPSIS

               use Data::Entropy qw(entropy_source);

               $i = entropy_source->get_int(12345);

               use Data::Entropy qw(with_entropy_source);

               with_entropy_source $source, sub {
                       @a = shuffle(@a);
               };

STATUS

       This module is deprecated.

       For most purposes (including cryptography and security), modules like Crypt::URandom, Crypt::SysRandom or
       Crypt::PRNG are more than adequate.

       Modern operating systems provide good sources of random bytes, and the above mentioned modules work on
       many kinds of systems, including Windows.

       There is no need to choose an entropy source, and some users of this module have omitted that step, and
       prior to version 0.008 they may have been relying on Perl's builtin "rand" function.

       Please see CPAN Author's Guide to Random Data for Security
       <https://security.metacpan.org/docs/guides/random-data-for-security.html>.

DESCRIPTION

       This module maintains a concept of a current selection of entropy source.  Algorithms that require
       entropy, such as those in Data::Entropy::Algorithms, can use the source nominated by this module,
       avoiding the need for entropy source objects to be explicitly passed around.  This is convenient because
       usually one entropy source will be used for an entire program run and so an explicit entropy source
       parameter would rarely vary.  There is also a default entropy source, avoiding the need to explicitly
       configure a source at all.

       If nothing is done to set a source then it defaults to the use of Rijndael (AES) in counter mode (see
       Data::Entropy::RawSource::CryptCounter and Crypt::Rijndael), keyed using Crypt::URandom.

FUNCTIONS

       entropy_source
           Returns the current entropy source, a "Data::Entropy::Source" object.  This will be the source passed
           to the innermost call to "with_entropy_source", if any, or otherwise the default entropy source.

       with_entropy_source SOURCE, CLOSURE
           The  SOURCE is selected, so that it will be returned by "entropy_source", and CLOSURE is called (with
           no arguments).  The SOURCE is selected only during the dynamic  scope  of  the  call;  after  CLOSURE
           finishes, by whatever means, the previously selected entropy source is restored.

           SOURCE  is  normally a "Data::Entropy::Source" object.  Alternatively, it may be "undef" to cause use
           of the default entropy source.  It may also be a reference to a function of no arguments, which  will
           be called to generate the actual source only if required.  This avoids unnecessarily initialising the
           source object if it is uncertain whether any entropy will be required.  The source-generating closure
           may return a normal source or "undef", but not another function reference.

SEE ALSO

       Data::Entropy::Algorithms, Data::Entropy::Source

AUTHOR

       Andrew Main (Zefram) <zefram@fysh.org>

       Maintained by Robert Rothenberg <rrwo@cpan.org>

COPYRIGHT

       Copyright (C) 2006, 2007, 2009, 2011, 2025 Andrew Main (Zefram) <zefram@fysh.org>

LICENSE

       This  module  is  free  software;  you  can redistribute it and/or modify it under the same terms as Perl
       itself.

perl v5.40.1                                       2025-03-29                                 Data::Entropy(3pm)