( Raynes | 2024. 02. 11., v – 00:26 )

Én is ezt akartam írni. Bár írta a topikindítóban, hogy ez nem egy jelszógenerátor akar lenni, de nekem mégis olyasminek tűnik. Ezt a jelszógenerálást egy pár soros POSIX shell scriptben így oldottam meg. Csak a lényeg, leegyszerűsítve, a script hosszabb azért egy kicsit, mert debug infókat, fejlécet is csinál, meg X vágólapra is teszi a jelszót:

dd if=/dev/random bs=512 count=4 status=none | tr -dc '[:print:]' | head -c "${1:-64}"

Ez egy alapértelmezetten 64 karakteres random jelszót generál (vagy akárhány karaktereset az $1 paraméter alapján), amiben csak nyomtatható, és nem magyar billentyűzetről is bevihető karakterek vannak, 96 féle. 96^64-es, azaz kb. 421 bites erősségű jelszó. Overkill, lehet sok helyre a 32 karakter is bőven elég lenne. Nyilván ez a megoldás minimalista, de működik minden POSIX rendszeren, nem kell hozzá grafikus felület, a kimenete tovább pipe-olható más parancsokba, használható más scriptekben. Nem is minden oldalon használok ilyet, csak a fontosabb szolgáltatásoknál, meg a Facebook, amit egyszer feltörtek nálam (a FB rendszere megfogta, nem tudták átvenni a fiók felett az irányítást), másodszor, erősebb jelszóra cserélés után is küldte nekem a FB a biztonsági értesítőket, hogy belépési kísérlet, ami nem éntőlem volt, így muszáj volt erre az overkill jelszógenerális sémára rámenni, azután azonnal lakattantak a fiókomról, meg sem kísérelték többet.

Nyilván ezek nehezen megjegyezhető jelszavak, de ezt meg saját jelszókezelővel oldom meg, ami meg egy AES256-tal és egy erős mesterjelszóval jelszavazott text file-ban tárolja, kódolja ki, szerkeszti az $EDITOR változóban lévő szövegszerkesztővel a jelszavakat. Ez is primitív megoldás, de csak pár soros shell script, sose hagyott cserben. Ezt tuti nem fogják feltörögetni. Mivel OpenGPG-vel dolgozik, ezért multiplatformos, használható Android, iOS, Windows, BSD-k, illumos disztrók alatt is.

Még extra pár sorból, pl. yad (Gtk+), zenity (Gtk4), kdialog (Qt5) vagy dialog (ncurses) segítségével gyárthattam volna hozzá GUI vagy TUI felületet, de az már semmit nem adott volna hozzá, csak a függőségeket növelte volna. Sokszor a kevesebb több, és az egyszerűség rugalmasabb.

Természetesen a te hash-elt módszered is teljesen jó, meg pl. lehet azt is, hogy négyzetgyök π-nek (most csak a hasamra ütök, lehet a köbgyöke az e-nek, vagy akármelyik transzcendentális számnak az akárhányadik nem transzcendentális hatványa) az 1 (vagy random) millió tizedesjegy utáni random helyiértékéről indítva random, de min. 64 jegyű számsort kinyerni, és ezt base64-ként vagy hexadecimálisan kódolni, vagy ebből sha512sum-mal előállítani a kimenetet.