package Crypt::Memfrob;
use strict;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw( memfrob );
$VERSION = '1.00';
sub memfrob($) {
return(join("", map { chr((ord($_) ^ 42) + 0) } (split(//, shift))));
}
1;
__END__
=head1 NAME
Crypt::Memfrob - memfrob implementation in pure Perl
=head1 SYNOPSIS
use Crypt::Memfrob 'memfrob';
my $frobed = memfrob($str);
=head1 DESCRIPTION
This package provides one function 'memfrob.' This is equivalent to
the memfrob function included in glibc. With this library, you can
generate glibc-compatible frobnicated (encrypted) strings, and
defrobnicate glibc-generated strings, in Perl.
=head1 FUNCTIONS
=over 4
=item B<memfrob>
This function frobnicates given string and returns the result.
=back
=head1 FROBNICATION
This library is based on GNU libc 2.2.4. From B<memfrob(3)>:
The memfrob() function encrypts the first n bytes of the
memory areas by exclusive-ORing each character with the
number 42. The effect can be reversed by using memfrob()
on the encrypted memory area.
Note that this function is not a proper encryption routine
as the XOR constant is fixed, and is only suitable for
hiding strings.
=head1 SEE ALSO
memfrob(3).
=head1 COPYRIGHT
Copyright 2001 Keiichiro Nagano <knagano@sodan.org>
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut