datastormrider
Goto Top

Passwortgenerator klingende Passwörter

Hallo zusammen,
sitze an einem Projekt und habe ein Problem...

Der Passwortgenerator soll klingende Passwörter erzeugen mit folgenden Parametern:

- 8 Buchstaben (wechselnd Konsonant, Vokal)
- 2 Zahlen
- 2 Sonderzeichen.

Mein Problem ist, dass mit dem folgenden Code nicht immer zwei Sonderzeichen ausgegeben werden. Manchmal keins, manchmal eins, manchmal zwei. Habe schon verschiedene Kombinationen von Sonderzeichen getestet im Array.

Freue mich über Vorschläge und Hilfe!

@echo off

:start

echo Passwortgenerator v1.0

setlocal enabledelayedexpansion

rem Zeichen für Buchstaben, Zahlen und Sonderzeichen definieren
set "consonants=BCDFGHKLMNPQRSTVWXZbcdfghklmnpqrstvwxz"  
set "vocals=AEIYUaeiyou"  
set "numbers=0123456789"  
set "symbols=!$&=#.,)"  

echo.
rem Variable für das endgültige Passwort erstellen
set "password="  

rem 1.Stelle zufällig auswählen
for /L %%i in (1,1,1) do (
    set /a index=!random! %% 38
    for %%j in (!index!) do set "password=!password!!consonants:~%%j,1!"  
)

rem 2.Stelle zufällig auswählen
for /L %%i in (1,1,1) do (
    set /a index=!random! %% 11
    for %%j in (!index!) do set "password=!password!!vocals:~%%j,1!"  
)

rem 3.Stelle zufällig auswählen
for /L %%i in (1,1,1) do (
    set /a index=!random! %% 38
    for %%j in (!index!) do set "password=!password!!consonants:~%%j,1!"  
)

rem 4.Stelle zufällig auswählen
for /L %%i in (1,1,1) do (
    set /a index=!random! %% 11
    for %%j in (!index!) do set "password=!password!!vocals:~%%j,1!"  
)

rem 5.Stelle zufällig auswählen
for /L %%i in (1,1,1) do (
    set /a index=!random! %% 38
    for %%j in (!index!) do set "password=!password!!consonants:~%%j,1!"  
)

rem 6.Stelle zufällig auswählen
for /L %%i in (1,1,1) do (
    set /a index=!random! %% 11
    for %%j in (!index!) do set "password=!password!!vocals:~%%j,1!"  
)

rem 7.Stelle zufällig auswählen
for /L %%i in (1,1,1) do (
    set /a index=!random! %% 38
    for %%j in (!index!) do set "password=!password!!consonants:~%%j,1!"  
)

rem 8.Stelle zufällig auswählen
for /L %%i in (1,1,1) do (
    set /a index=!random! %% 11
    for %%j in (!index!) do set "password=!password!!vocals:~%%j,1!"  
)

rem 2 Zahlen zufällig auswählen
for /L %%i in (1,1,2) do (
    set /a index=!random! %% 10
    for %%j in (!index!) do set "password=!password!!numbers:~%%j,1!"  
)

rem 2 Sonderzeichen zufällig auswählen
for /L %%i in (1,1,2) do (
    set /a index=!random! %% 12
    for %%j in (!index!) do set "password=!password!!symbols:~%%j,1!"  
)

echo Generiertes Passwort: !password!
echo.
echo Bitte eine beliebige Taste druecken, um ein neues Passwort zu generieren
echo.
echo Zum Schliessen des Passwortgenerators das Fenster ueber das X oben rechts schliessen
pause

cls

goto start

Content-ID: 668371

Url: https://administrator.de/contentid/668371

Ausgedruckt am: 28.09.2024 um 00:09 Uhr

Thomas2
Thomas2 25.09.2024 um 14:41:51 Uhr
Goto Top
Hey,

ohne den Code studiert zu haben: könnte es sein, dass du dein Sonderzeichen eben zufällig überschreibst? Es darf nicht 2 mal am gleichen Index gesetzt werden.

Gruß
Thomas
Trinatrium
Trinatrium 25.09.2024 um 14:46:40 Uhr
Goto Top
Dir ist die Theorie und die Praxis um echte Zufälle empfohlen zu Kenntnis zu gelangen.

Echte Zufälle, sei es auch beim Generieren von Passwörtern - im dem Rahmen deines Scriptes - gibt es nicht.
Und wenn es echte Zufälle sein sollen, dann geht es nicht so.
Bei deinem Scriptoutput bist du in erster Linie mit Statistik konfrontiert.
Penny.Cilin
Penny.Cilin 25.09.2024 um 14:50:02 Uhr
Goto Top
Was soll der Quatsch auch noch in Batch! face-sad

Gruss Penny.
stacktrace
stacktrace 25.09.2024 aktualisiert um 15:08:38 Uhr
Goto Top
sitze an einem Projekt und ...
mache die Arbeit zum x-ten Mal. Gibt doch schon haufenweise(min. 32) fertige "Tools" [auch in Batch]

github.com/search?q=password+generator+language%3ABatchfile+&type=repositories

Deinem bereits sehr ähnlich:
github.com/TheBATeam/Random-Password-Generator

Gruß
DataStormRider
Lösung DataStormRider 25.09.2024 um 15:22:31 Uhr
Goto Top
Hallo zusammen,
ja was soll der Quatsch in Batch - ist nur 'ne Hilfe für normale User, die nur Haustiernamen und Geburtstage als Passwörter vergeben - ich habe bislang auch bei Github keine Passwortgeneratoren gefunden die klingende Passwörter generieren.
Habe jetzt eine Lösung schon selber gefunden; mit ^ vor den Sonderzeichen werden diese in Batch einfach so ausgegeben.
Danke Leute und seid bitte nicht so streng mit Noobs
stacktrace
stacktrace 25.09.2024 aktualisiert um 19:25:23 Uhr
Goto Top
Github keine Passwortgeneratoren gefunden die klingende Passwörter

ne Hilfe für normale User
Machs doch noch hübscher, stell nen kleinen Webserver für die User hin und lass sowas drauf laufen, bspw?

github.com/RythenGlyth/PasswordGenerator
TwistedAir
TwistedAir 25.09.2024 um 20:19:58 Uhr
Goto Top
Zitat von @DataStormRider:
ist nur 'ne Hilfe für normale User, die nur Haustiernamen und Geburtstage als Passwörter vergeben - ich habe bislang auch bei Github keine Passwortgeneratoren gefunden die klingende Passwörter generieren.

Wenn es dir insbesondere um die bessere Merkfähigkeit eines Passwortes geht, könntest du deine Kollegen auch die Bildung des Passwortes anhand eines Merksatzes empfehlen. Dabei werden die Anfangsbuchstaben von Wörtern, Zahlen und Satzzeichen in ein Passwort überführt.

Aus einem Satz wie „Mein Hund Bello hat vier Beine und zwei Ohren.“ bildet sich das Passwort MHBh4Bu2O. bzw. MHBh4B&2O. oder aus „Ich habe dir schon tausend Mal gesagt: du sollst ein sicheres Passwort verwenden!“ wird Ihds1000Mg:ds1sPv! .
Würde sagen, das ist einfacher zu merken als fyRuQixe6, . face-wink

Gruß
TA