#!/opt/perl/bin/perl -w use strict; scalar(@ARGV) or die "usage: mkpasswd password\n"; my $salt = join '', ('.', '/', 0..9, 'A'..'Z', 'a'..'z')[rand 64, rand 64, rand 64, rand 64, rand 64, rand 64, rand 64, rand 64]; print crypt($ARGV[0], '$1$' . $salt), "\n"; .