[EMAIL PROTECTED] wrote: > Hey folks, Hello,
> I have been using crypt for a while. No problems until recently. > > Problem crypt does not return a hash that matches getpwnam(). I have been > using crypt for a long time without any problems. > > Bellow is test script I have using for testing hashs. The output of the > script bellow is as follows(Note passwd for user "test" is "hello"): > > linux:/tmp# ./perltest.pl > Enter a string to encrypt with DES: hello > Enter two random alphanumerics to be used as a salt:n$! > > "hello" encrypted using the perl crypt() function and salt "$!" returns: > $!8VHq6xLWgQc $1$70w840Bc$Hkmqjlz8N7abM2SGlLm0T1 > > crypt returns= $!8VHq6xLWgQc > hash value returned by getpwnam= $1$70w840Bc$Hkmqjlz8N7abM2SGlLm0T1 > > I have tested crypt() on debian, and redhat. Same problems. The has values > do not match each other. > > Please help, any suggestions. > > thanks > > jerry > > ######################################################################### > Perl script bellow > ######################################################################### > #!/usr/bin/perl > > print "Enter a string to encrypt with DES:n"; > chomp(my $string = <STDIN>); #Take the input from the user and remove the n > > print "Enter two random alphanumerics to be used as a salt:n"; > chomp(my $salt = <STDIN>); > > my $encrypted_string = crypt($string,$salt); #take the string and the salt > and put through crypt() > > $pass = (getpwnam(test))[1]; You need to use the old password as the salt, so change that to: my $pass = ( getpwnam 'test' )[ 1 ]; my $encrypted_string = crypt $string, $pass; > print qq~ > "$string" encrypted using the perl crypt() function and salt "$salt" returns: > $encrypted_string $pass > ~; John -- Perl isn't a toolbox, but a small machine shop where you can special-order certain sorts of tools at low cost and in short order. -- Larry Wall -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/