Hesgenk2 jako bash funkce + úprava readme

main
Petr Varkoček 2 months ago
parent 2db918a0a7
commit e646a2e308

@ -0,0 +1,103 @@
# --- enable/disable this file ---
SRC_ENABLED=true
case "$SRC_ENABLED" in
1|true|yes|on) unset SRC_ENABLED ;; # enabled — clean up and continue
*) unset SRC_ENABLED; return ;; # disabled — clean up and skip this file
esac
# ---------------------------------
# ---------------------------------------------------------------------------
# hesgenk2() - generator hesel
# ZDROJ (puvodni forma): https://hesgen.rfa.cz/
# Celkova delka hesla = DelkaHesla + 2 cislice
# Poznamka: cislovani zacina od "0" :o)
# Modifikace - PeVa 24.06.2026 (shellcheck, futureproofing, code purge)
# Preveden na funkci pro sourcovani z .bashrc - kompatibilni s bash
# na RHEL5 (bash 3.2) a Debian Squeeze (bash 4.1) i novejsimi.
#
# Pouziti:
# hesgenk2 [PocetHesel] [DelkaHesla]
#
# Priklady:
# hesgenk2 -> 1 heslo, delka 12 (+2 cislice)
# hesgenk2 5 -> 5 hesel, delka 12 (+2 cislice)
# hesgenk2 5 16 -> 5 hesel, delka 16 (+2 cislice)
# ---------------------------------------------------------------------------
hesgenk2() {
# Napoveda
case "$1" in
-h|--help|help)
echo "Pouziti: hesgenk2 [PocetHesel] [DelkaHesla]"
echo
echo " PocetHesel pocet vygenerovanych hesel (cislo >= 1, vychozi 1)"
echo " DelkaHesla delka textove casti hesla (cislo >= 12, vychozi 12)"
echo " vysledne heslo ma DelkaHesla + 2 cislice na konci"
echo
echo "Priklady:"
echo " hesgenk2 -> 1 heslo, delka 12 (+2 cislice)"
echo " hesgenk2 5 -> 5 hesel, delka 12 (+2 cislice)"
echo " hesgenk2 5 16 -> 5 hesel, delka 16 (+2 cislice)"
return 0
;;
esac
# Vychozi hodnoty
local PocetHesel=1
local DelkaHesla=12
# Parametry (bez ";", aby prazdny/nenumericky vstup neshodil shell)
local ParamPocet="${1:-0}"
local ParamDelka="${2:-0}"
ParamPocet=$((0 + ParamPocet))
ParamDelka=$((0 + ParamDelka))
if [ "$ParamPocet" -ge 1 ]; then
PocetHesel=$ParamPocet
fi
if [ "$ParamDelka" -ge 12 ]; then
DelkaHesla=$ParamDelka
fi
echo "Pocet hesel: $PocetHesel, Delka $DelkaHesla"
echo
local Souhlasek=15
local SouhlaskaVelka
SouhlaskaVelka=("B" "C" "D" "F" "H" "J" "K" "L" "M" "N" "P" "R" "S" "T" "V")
local SouhlaskaMala
SouhlaskaMala=("b" "c" "d" "f" "h" "j" "k" "l" "m" "n" "p" "r" "s" "t" "v")
local Samohlasek=5
local SamohlaskaMala
SamohlaskaMala=("a" "e" "i" "o" "u")
local rot i RAND vystup
for rot in $(seq 1 "$PocetHesel"); do
# Reset
vystup=""
# TEXTOVA CAST HESLA
for i in $(eval "echo {0..$((DelkaHesla - 1))}"); do
if [ $((i % 2)) -eq 0 ]; then
# kazdy "sudy" znak je souhlaska
RAND=$((RANDOM % Souhlasek))
if [ $((i % 4)) -eq 0 ]; then
# kazdy "ctvrty" znak je velke pismeno
vystup="${vystup}${SouhlaskaVelka[$RAND]}"
else
vystup="${vystup}${SouhlaskaMala[$RAND]}"
fi
else
# kazdy "lichy" znak je samohlaska
RAND=$((RANDOM % Samohlasek))
vystup="${vystup}${SamohlaskaMala[$RAND]}"
fi
done
RAND=$((RANDOM % 10))
vystup="${vystup}${RAND}"
RAND=$((RANDOM % 10))
vystup="${vystup}${RAND}"
echo "$vystup"
done
}

@ -93,6 +93,14 @@ X-KDE-Username=
* mman udělá ctrl+c na dané konzoli a vypíše manuálovou stránku * mman udělá ctrl+c na dané konzoli a vypíše manuálovou stránku
* cman zruší manuálovou stránku, vyčistí konzoli a spustí na ni termclock.sh * cman zruší manuálovou stránku, vyčistí konzoli a spustí na ni termclock.sh
### 35_hesgenk2.sh
Default: Zapnuto
Jednoduchá konverze webu na script a ze scriptu do bash funkce. Generuje hesla která jsou v K2 běžná - 12 znaků + 2 číslice v základku
* hesgenk2
### 40_notes.sh ### 40_notes.sh
Default: Zapnuto Default: Zapnuto

Loading…
Cancel
Save