DBIx-Squirrel
view release on metacpan or search on metacpan
lib/DBIx/Squirrel/Crypt/Fernet.pm view on Meta::CPAN
=head2 METHODS
=head3 C<new>
$obj = DBIx::Squirrel::Crypt::Fernet->new();
$obj = DBIx::Squirrel::Crypt::Fernet->new($key);
A constructor (also see L<Fernet>).
If no arguments are passed then a random 32-byte Fernet key is generated. If
a Base64-encoded key is passed then it will be decoded and its signing and
encryption key fields extracted.
Take care never to display the binary signing and extraction keys, but to use
the C<to_string> method (or stringification) to recombine them into a Base64-
encoded Fernet key.
=cut
sub new {
my( $class, $b64key ) = @_;
lib/DBIx/Squirrel/Crypt/Fernet.pm view on Meta::CPAN
=head3 C<Fernet>
$obj = Fernet();
$obj = Fernet($key);
Alternative constructor (also see L<new>).
Returns a new C<DBIx::Squirrel::Crypt::Fernet> object.
If no arguments are passed then a random 32-byte Fernet key is generated. If
a Base64-encoded key is passed then it will be decoded and its signing and
encryption key fields extracted.
Take care never to display the binary signing and extraction keys, but to use
the C<to_string> method (or stringification) to recombine them into a Base64-
encoded Fernet key.
=cut
sub Fernet {
return __PACKAGE__->new(@_);
lib/DBIx/Squirrel/util.pm view on Meta::CPAN
and possibly decrypted.
=item *
If ".json" forms part of the file's name or the C<unmarshal> option is
true, then the file contents will be unmarshalled after they have been read,
possibly decrypted, and possibly uncompressed.
=item *
If the C<utf8decode> option is true, then the file contents will be decoded
as a UTF-8 string.
=back
=cut
sub get_file_contents {
my $filename = shift;
my $options = { utf8decode => !!1, %{ shift || {} } };
my $contents = slurp($filename);
lib/DBIx/Squirrel/util.pm view on Meta::CPAN
return $_ = Compress::Bzip2::memBunzip($buffer);
}
=head3 C<unmarshal>
$data = unmarshal($json);
$data = unmarshal($json, $decode);
Unmarshals a JSON-encoded buffer into the data-structure it represents. By
default, UTF-8 binaries are properly decoded, and this behaviour can be
inhibited by setting C<$decode> to false.
=cut
sub unmarshal {
my $json = shift;
my $decode = @_ ? !!shift : !!1;
local $JSON::Syck::ImplicitUnicode = $decode;
return $_ = JSON::Syck::Load( $decode ? utf8decode($json) : $json );
}
( run in 0.383 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )