31 lines
1006 B
Bash
Executable File
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"
|
|
|