Генерация .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 $!;
}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой:

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.