Słaby ten generator, pomijam już słabą jakość kodu i błędy w nazwach, więc skupię się na samym generatorze.
Przede wszystkim używasz chyba najgorszego możliwego sposobu generowania liczb pseudolosowych (rand() ) i to nawet bez ziarna losowości uzależnionego choćby od czasu, o tym pisałem choćby tutaj:
http://szymonsiarkiewicz.pl/artykuly/relog/pwnable/
Idźmy dalej: używasz tylko alfabetu (sugeruje to zakres losowanych znaków), a co z cyframi, znakami specjalnymi? Zauważmy, że mając kilka haseł wygenerowanych pod rząd to można spróbować odgadnąć seed -> wygenerować dowolną ilość haseł i to bez twojego programu tworzących je w ten sam sposób
Samo generowanie hasła też nie wygląda jakoś imponująco (mówię o tym "wyciętym" kodzie - nie wiem czy wiesz, ale ten kod co jest w pliku ma cały "algorytm")