in reply to Re: Re: How to use MD5? in thread How to use MD5?
First, you need to generate an appropriate salt. The code
provided by tadman in this node should work. Then, either
install Crypt::PasswdMD5 and use: my $crypted = unix_md5_crypt
$passwd, $salt; Or, since you're apparently using RedHat (since
adduser is a RedHat-specific command AFAIK) and your libc's
crypt should do MD5-crypt automatically given a proper MD5 salt,
use: my $crypted = crypt $passwd, $salt; To make sure this
works, print the value of $crypt ; it should be something like
$1$b1yv9grF$mpwoS2r11VtENFrAmF2WW/ (instead of the shorter
string returned by traditional DES-crypt). Once you've confirmed
that you have what looks like an MD5-crypted password, use the
value of $crypted in your command line: system("adduser", "bob",
"-p", $crypted) == 0 or die "Error adding user 'bob': $!$/"; The
secret to getting crypt to work correctly is in providing a salt
starting with '$1$' and having 8 characters (instead of the
normal 2 used for DES-crypt).