Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Shadow Passwords

by dug (Chaplain)
on May 03, 2003 at 16:00 UTC ( [id://255336]=note: print w/replies, xml ) Need Help??


in reply to Shadow Passwords

Howdy AM,
  crypt() in Perl encrypts a string exactly like crypt(3) in your C library. Consulting your crypt(3) manpage will probably show you that if crypt() is provided a salt that begins with the three characters '$1$' followed by at most 8 characters, it will use an MD5-based algorigth.

Changing your code to:
my @chars = ('a'..'z', 'A'..'Z', 0..9); my $password = do {{ local $_ = join "" => map {$chars [rand @chars]} 1..8; redo unless /[a-z]/ && /[A-Z]/ && /\d/; $_; }}; my $salt = '$1$' . join '', ('.', '/', 0..9, 'A'..'Z', 'a'..'z')[ map { int rand 64 } 0 .. 7 ]; my $encrypted_pass = crypt($password, $salt);
should result in an MD5 passwd (depending on your systems crypt(3), of course).

Hope that helps,

-- dug

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://255336]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (4)
As of 2024-03-29 05:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found