Apache::Wyrd::Services::CodeRing is an Apache-resident crypto tool (Blowfish).
SYNOPSIS
my $cr1 = Apache::Wyrd::Services::CodeRing->new;
my $key = $cr1->key;
my $secret = "The turtle moves!"
my $cytext = $cr1->encrypt($secret);
my $cr2 = Apache::Wyrd::Services::CodeRing->new({key => $key});
my $plaintext = ($cr2->decrypt($crptext)
|| die "Key or cypher text was corrupt");
The CodeRing is an encryption/decryption object for use primarily for encrypting state information into cookies or hidden variables without exposing the data to deconstruction or corruption in transference.
It uses the blowfish algorithm via either a Crypt::Blowfish or Crypt::Blowfish_PP module, depending on which one compiles on this system, preferring the C-based one.
The CodeRing uses an internal hashing algorithm (SHA) to check the validity of the decrypt. If the decrypt shows alteration, it returns an empty string.
Unless the CodeRing is given a key on initialization, it uses an instance of the Apache::Wyrd::Services::Key class, which is designed to be a constant in primary server memory space. The Key, in this case, is "known" only to the Apache process, and is regenerated on each restart.
Product's homepage
Requirements:
· Perl