X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FVerify.pm;h=5809b81004c36d8b57e023c5691e151ad24e6097;hb=865abb9cb54ef7cee0f30a2d771cf7fcc7db8c90;hp=5e0fffe1d7e38e3a38927d23caf5f09b262b5a1d;hpb=6f20114b034d329c1e2a4f91f0aba2f6ec4002d4;p=spider.git diff --git a/perl/Verify.pm b/perl/Verify.pm index 5e0fffe1..5809b810 100644 --- a/perl/Verify.pm +++ b/perl/Verify.pm @@ -17,7 +17,7 @@ use Digest::SHA1 qw(sha1_base64); use vars qw($VERSION $BRANCH); $VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ ); -$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0)); +$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /^\d+\.\d+(?:\.(\d+)\.(\d+))?$/ || (0,0)); $main::build += $VERSION; $main::branch += $BRANCH; @@ -25,45 +25,31 @@ sub new { my $class = shift; my $self = bless {}, ref($class) || $class; - if (@_) { - $self->newseed(@_); - $self->newsalt; - } + $self->newsalt(@_); return $self; } -sub newseed -{ - my $self = shift; - return $self->{seed} = sha1_base64('RbG4tST2dYPWnh6bfAaq7pPSL04', @_); -} - sub newsalt { my $self = shift; - return $self->{salt} = substr sha1_base64($self->{seed}, rand, rand, rand), 0, 6; + return $self->{salt} = sha1_base64('RbG4tST2dYPWnh6bfAaq7pPSL04', @_); } sub challenge { my $self = shift; - return $self->{salt} . sha1_base64($self->{salt}, $self->{seed}, @_); + my $p = substr(sha1_base64($self->{salt}, @_), -6, 6); + return $p; } sub verify { my $self = shift; my $answer = shift; - my $p = sha1_base64($self->{salt}, $self->{seed}, @_); + my $p = substr(sha1_base64($self->{salt}, @_), -6, 6); return $p eq $answer; } -sub seed -{ - my $self = shift; - return @_ ? $self->{seed} = shift : $self->{seed}; -} - sub salt { my $self = shift;