Вот таким скриптом генерю себе htpasswd для Nginx:
#!/bin/bash
set -e
echo "**********************************************"
echo ".htpasswd file for JSDocs protection generated"
echo "**********************************************"
read -p 'Login: ' uservar
if [ -z "$uservar" ]; then
echo "Login must by non empty string!"
exit 1
fi
HTPASWD_LOGIN="$uservar"
HTPASWD_PASSWORD=$(openssl passwd)
str="${HTPASWD_LOGIN}:${HTPASWD_PASSWORD}"
echo $str > ./.htpasswd
sudo cp ./.htpasswd /var/www/html/
rm -f ./.htpasswd
На выходе строка:
login:4sdf56TUYTU.JK
Запускаю генерацию заново и ввожу тот же пароль. На выходе строка:
login:oyUYIUY4654HJH
Внимание, вопрос! А как тогда Nginx узнает что пароль верный, если хэши разные?