Egg::Model::Auth::Crypt::MD5 - AUTH component to treat code of attestation data with Digest::MD5.


Egg-Release-Authorize documentation Contained in the Egg-Release-Authorize distribution.

Index


Code Index:

NAME

Top

Egg::Model::Auth::Crypt::MD5 - AUTH component to treat code of attestation data with Digest::MD5.

SYNOPSIS

Top

  package MyApp::Model::Auth::MyAuth;
  ..........

  __PACKAGE__->config(
    crypt_md5_salt => 'abcd1234',
    );

  __PACKAGE__->setup_api( File => qw/ Crypt::MD5 / );

DESCRIPTION

Top

It is API component to treat the password in the attestation data with Digest::MD5.

'Crypt::MD5' is included in the list following API component name specified for 'setup_api' method.

  __PACKAGE__->setup_api( DBI => qw/ Crypt::MD5 / );

When 'crypt_md5_salt' of the configuration is set, the character string that connects the content behind former password comes to be used to generate checksum.

METHODS

Top

password_check ([CRYPT_PASSWORD], [INPUT_PAWWORD])

The agreement of CRYPT_PASSWORD and INPUT_PAWWORD is confirmed.

create_password ([PLAIN_PASSWORD])

PLAIN_PASSWORD is encrypted.

valid_crypt ([CRYPT_PASSWORD])

CRYPT_PASSWORD is HEX value of 32 digits or it confirms it.

SEE ALSO

Top

Egg::Release, Egg::Model::Auth, Egg::Model::Auth::Base::API, Digest::MD5,

AUTHOR

Top

Masatoshi Mizuno <lushe&64;cpan.org>

COPYRIGHT AND LICENSE

Top


Egg-Release-Authorize documentation Contained in the Egg-Release-Authorize distribution.

package Egg::Model::Auth::Crypt::MD5;
#
# Masatoshi Mizuno E<lt>lusheE<64>cpan.orgE<gt>
#
# $Id: MD5.pm 347 2008-06-14 18:57:53Z lushe $
#
use strict;
use warnings;
use Carp qw/ croak /;
use Digest::MD5 qw/ md5_hex /;

our $VERSION= '0.01';

sub _setup {
	my($class, $e)= @_;
	$class->config->{crypt_md5_salt} ||= "";
	$class->next::method($e);
}
sub password_check {
	my $self = shift;
	my $crypt= shift || croak 'I want crypt string.';
	   $crypt=~s{^\s+} []; $crypt=~s{\s+$} [];
	$crypt eq $self->create_password(@_) ? 1: 0;
}
sub create_password {
	my $self    = shift;
	my $password= shift || croak 'I want target password.';
	   $password=~s{^\s+} []; $password=~s{\s+$} [];
	md5_hex($password. $self->config->{crypt_md5_salt});
}
sub valid_crypt {
	($_[1] and $_[1]=~m{^[a-f0-9]{32}$}) ? 1: 0;
}

1;

__END__