Security Advisories (1)
CVE-2018-25107

In versions prior to 0.13, rand could be used as a result of calling get_weak, or get, if no random device was available. This implies that not explicitly asking for get_strong on a non POSIX operating system (e.g. Win32 without the Win32 backend) could have resulted in non cryptographically random data.

NAME

Crypt::Random::Source::Factory - Load and instantiate sources of random data

SYNOPSIS

use Crypt::Random::Source::Factory;

my $f = Crypt::Random::Source::Factory->new;

my $strong = $f->get_strong;

my $weak = $f->get_weak;

my $any = $f->get;

DESCRIPTION

This class implements a loading and instantiation factory for Crypt::Random::Source objects.

If $ENV{CRYPT_RANDOM_NOT_PLUGGABLE} is set then only a preset list of sources will be tried. Otherwise Module::Find will be used to locate any installed sources, and use the first available one.

METHODS

get %args

Instantiate any random source, passing %args to the constructor.

The type argument can be weak, strong or any.

get_weak %args

get_strong %args

Instantiate a new weak or strong random source.

AUTHOR

Yuval Kogman <nothingmuch@woobling.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Yuval Kogman.

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