MD5でハッシュ値を計算する方法

#!/usr/bin/perl

use strict;
use warnings;

&main();
exit;

sub main {
  my $passwd = "hoge";
  my @salts = ("A".."Z","a".."z","0".."9",".","/");
  my $salt;

  for(my $i=0;$i<8;$i++){
    srand();
    $salt .= $salts[int(rand(64))];
  }
  my $epasswd = crypt($passwd,'$1$'.$salt);

  if($epasswd eq crypt($passwd,$epasswd)){
    printf STDOUT "PASS is true.\n";
  }

}

__END__