CGI::Application::Plugin::Authentication::Driver::Filter::crypt - crypt Filter


CGI-Application-Plugin-Authentication documentation Contained in the CGI-Application-Plugin-Authentication distribution.

Index


Code Index:

NAME

Top

CGI::Application::Plugin::Authentication::Driver::Filter::crypt - crypt Filter

VERSION

Top

This document describes CGI::Application::Plugin::Authentication::Driver::Filter::crypt version 0.20

METHODS

Top

filter ( undef, $string [, salt ] )

This will generate a crypted string. The first parameter is always ignored, since there is only one way to use the crypt function. You can pass in an extra parameter to act as the salt.



 my $filtered = $class->filter(undef, 'foobar'); # mQvbWI43eDCAk

 -or-

 my $filtered = $class->filter(undef, 'foobar', 'AA'); # AAZk9Aj5/Ue0E




check ( undef, $string, $crypted )

This will crypt the string, and compare it against the provided crypted string. The first parameter is always ignored, since there is only one way to use the crypt function.

 if ($class->check(undef, 'foobar', 'mQvbWI43eDCAk')) {
     # they match
 }




SEE ALSO

Top

CGI::Application::Plugin::Authentication::Driver, perl(1)

AUTHOR

Top

Cees Hek <ceeshek@gmail.com>

LICENCE AND COPYRIGHT

Top


CGI-Application-Plugin-Authentication documentation Contained in the CGI-Application-Plugin-Authentication distribution.

package CGI::Application::Plugin::Authentication::Driver::Filter::crypt;

use strict;
use warnings;
our $VERSION = '0.20';

sub check {
    my $class    = shift;
    my $param    = shift;
    my $plain    = shift;
    my $filtered = shift;

    return ( $class->filter( $param, $plain, $filtered ) eq $filtered ) ? 1 : 0;
}

sub filter {
    my $class = shift;
    my $param = lc shift; # not used
    my $plain = shift;
    my $salt  = shift;
    if (!$salt) {
        my @alphabet = ( '.', '/', 0 .. 9, 'A' .. 'Z', 'a' .. 'z' );
        $salt = join '', @alphabet[ rand 64, rand 64 ];
    }
    return crypt( $plain, $salt );
}

1;
__END__