Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  DATA::ENTROPY (3)

.ds Aq ’


Data::Entropy - entropy (randomness) management



        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);


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 Perl’s built-in rand function. This gives a data stream that looks like concentrated entropy, but really only has at most the entropy of the rand seed. Within a single run it is cryptographically difficult to detect the correlation between parts of the pseudo-entropy stream. If more true entropy is required then it is necessary to configure a different entropy source.


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.


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


Andrew Main (Zefram) <>


Copyright (C) 2006, 2007, 2009, 2011 Andrew Main (Zefram) <>


This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Search for    or go to Top of page |  Section 3 |  Main Index

perl v5.20.3 DATA::ENTROPY (3) 2016-03-17

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.