Взято с wiki.nginx.org .
printf “John:$(openssl passwd -crypt V3Ry)\n” >> .htpasswd # this example uses crypt encryption
printf “Mary:$(openssl passwd -apr1 SEcRe7)\n” >> .htpasswd # this example uses apr1 (Apache MD5) encryption
printf “Jane:$(openssl passwd -1 V3RySEcRe7)\n” >> .htpasswd # this example uses MD5 encryption
(PASSWORD=”SEcRe7PwD”;SALT=”$(openssl rand -base64 3)”;SHA1=$(printf “$PASSWORD$SALT” | openssl dgst -binary -sha1 | \
sed ‘s#$#'”$SALT”‘#’ | base64);printf “Jim:{SSHA}$SHA1\n” >> .htpasswd) # this example uses SSHA encryption
или использовать скрипт
#!/usr/bin/perl use strict; chomp(my $filename=$ARGV[0]); chomp(my $username=$ARGV[1]); chomp(my $password=$ARGV[2]); if (!$filename || !$username || !$password) { print "USAGE: ./crypt.pl filename username password\n\n"; } else { open my $fh, ">>", $filename or die $!; print $fh $username . ":" . crypt($password, $username) . "\n"; close $fh or die $!; }