Генерация .htpasswd без утилиты htpasswd в Freebsd.

Взято с 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 $!;
}
Exit mobile version