Files
dapostinstall/pwgen.sh
T
Marek Miklewicz b40af0c49c Drobne poprawki
2023-12-01 09:28:26 +01:00

31 lines
1006 B
Bash
Executable File

k#!/bin/bash
special_chars='-._'
MIN_PASSWORD_LENGTH=8
MAX_PASSWORD_LENGTH=12
DA_ADMINPASS=$(
while true; do
base_part=$(tr -dc '[:alnum:]' < /dev/urandom | fold -w "$((RANDOM % (MAX_PASSWORD_LENGTH - MIN_PASSWORD_LENGTH - 1) + MIN_PASSWORD_LENGTH))" | head -n1)
# Wybór losowego znaku specjalnego
special_char_index=$((RANDOM % ${#special_chars}))
special_char=${special_chars:special_char_index:1}
# Losowanie pozycji dla znaku specjalnego
special_index=$((RANDOM % ${#base_part}))
# Wstawienie znaku specjalnego w wybranej pozycji
password="${base_part:0:special_index}${special_char}${base_part:special_index}"
# Sprawdzenie, czy hasło spełnia kryteria
if echo "$password" | grep -qE '[[:digit:]]' && echo "$password" | grep -qE '[[:upper:]]' && echo "$password" | grep -qE '[-._]'; then
echo "$password"
break
fi
done
)
echo "Wygenerowane hasło: $DA_ADMINPASS"