Man pages sections > man3 > Crypt::Random::Source::Base

Crypt::Random::Source::Base - Abstract base class for Crypt::Random::Source

Crypt::Random::Source::Base(3pm) User Contributed Perl Documentation Crypt::Random::Source::Base(3pm)


Crypt::Random::Source::Base - Abstract base class for Crypt::Random::Source classes


version 0.12


    use Moo;
    extends qw(Crypt::Random::Source::Base);


This is an abstract base class.
In the future it will be a role.


get $n, %args

Gets $n random bytes and returns them as a string.
This method may produce fatal errors if the source was unable to provide enough data.

read $buf, $n, [ $off ]

This method is cannibalized from IO::Scalar. It provides an IO::Handle work-alike.
Note that subclasses override this to operate on a real handle directly if available.

seed @stuff

On supporting sources this method will add @stuff, whatever it may be, to the random seed.
Some sources may not support this, so be careful.


This is a class method, such that when it returns true calling "new" without arguments on the class should provide a working source of random data.
This is use by Crypt::Random::Source::Factory.


This is a class method, with some futz value for a ranking, to help known good sources be tried before known bad (slower, less available) sources.

get_data %Params

Provided for compatibility with Crypt::Random


Bugs may be submitted through the RT bug tracker <> (or <>).


XXXX XXX'XX (Yuval Kogman) <> This software is copyright (c) 2008 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.
2017-10-24 perl v5.26.0