Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Passwortgenerator MIT Sonderzeichen auf Batch-Ebene

Anleitung Entwicklung Batch & Shell

Mitglied: B-free

B-free (Level 1) - Jetzt verbinden

13.12.2012, aktualisiert 17.12.2012, 4462 Aufrufe, 3 Kommentare

Hi,

ich hab seit geraumer zeit probiert ein passwortgenerator zu bauen. leider ging das ganze nicht ganz auf. später bekam ich hilfe von einem kumpel und schließlich kam das dabei raus:

01.
@echo off 
02.
color 0a 
03.
:begin 
04.
set pw= 
05.
set /P th=Bitte stellen eingeben: 
06.
set /A dt=0 
07.
:1 
08.
set /A dt=%dt%+1 
09.
set /A gdp=%random% %%53 
10.
if %gdp%==0 (set pw=%pw%`) 
11.
if %gdp%==1 (set pw=%pw%q) 
12.
if %gdp%==2 (set pw=%pw%w) 
13.
if %gdp%==3 (set pw=%pw%e) 
14.
if %gdp%==4 (set pw=%pw%r) 
15.
if %gdp%==5 (set pw=%pw%t) 
16.
if %gdp%==6 (set pw=%pw%z) 
17.
if %gdp%==7 (set pw=%pw%u) 
18.
if %gdp%==8 (set pw=%pw%i) 
19.
if %gdp%==9 (set pw=%pw%o) 
20.
if %gdp%==10 (set pw=%pw%p) 
21.
if %gdp%==11 (set pw=%pw%a) 
22.
if %gdp%==12 (set pw=%pw%s) 
23.
if %gdp%==13 (set pw=%pw%d) 
24.
if %gdp%==14 (set pw=%pw%f) 
25.
if %gdp%==15 (set pw=%pw%g) 
26.
if %gdp%==16 (set pw=%pw%h) 
27.
if %gdp%==17 (set pw=%pw%j) 
28.
if %gdp%==18 (set pw=%pw%k) 
29.
if %gdp%==19 (set pw=%pw%l) 
30.
if %gdp%==20 (set pw=%pw%y) 
31.
if %gdp%==21 (set pw=%pw%x) 
32.
if %gdp%==22 (set pw=%pw%c) 
33.
if %gdp%==23 (set pw=%pw%v) 
34.
if %gdp%==24 (set pw=%pw%b) 
35.
if %gdp%==25 (set pw=%pw%n) 
36.
if %gdp%==26 (set pw=%pw%m) 
37.
if %gdp%==27 (set pw=%pw%0) 
38.
if %gdp%==28 (set pw=%pw%1) 
39.
if %gdp%==29 (set pw=%pw%2) 
40.
if %gdp%==30 (set pw=%pw%3) 
41.
if %gdp%==31 (set pw=%pw%4) 
42.
if %gdp%==32 (set pw=%pw%5) 
43.
if %gdp%==33 (set pw=%pw%6) 
44.
if %gdp%==34 (set pw=%pw%7) 
45.
if %gdp%==35 (set pw=%pw%8) 
46.
if %gdp%==36 (set pw=%pw%9) 
47.
if %gdp%==37 (set pw=%pw%}) 
48.
if %gdp%==38 (set pw=%pw%;) 
49.
if %gdp%==39 (set pw=%pw%,) 
50.
if %gdp%==40 (set pw=%pw%.) 
51.
if %gdp%==41 (set pw=%pw%-) 
52.
if %gdp%==42 (set pw=%pw%_) 
53.
if %gdp%==43 (set pw=%pw%+) 
54.
if %gdp%==44 (set pw=%pw%~) 
55.
if %gdp%==45 (set pw=%pw%#) 
56.
if %gdp%==46 (set pw=%pw%') 
57.
if %gdp%==47 (set pw=%pw%@) 
58.
if %gdp%==48 (set pw=%pw%?) 
59.
if %gdp%==49 (set pw=%pw%$) 
60.
if %gdp%==50 (set pw=%pw%[) 
61.
if %gdp%==51 (set pw=%pw%]) 
62.
if %gdp%==52 (set pw=%pw%{) 
63.
if %dt% lss %th% (goto 1) 
64.
echo %pw% 
65.
set /P yn=Wollen sie die datei speicher ? J\N : 
66.
if %yn%==J ( 
67.
echo %pw% > Passwort.txt 
68.
echo Passwort wurde gespeichert) 
69.
if %yn%==j ( 
70.
echo %pw% > Passwort.txt 
71.
echo Passwort wurde gespeichert) 
72.
if %yn%==y ( 
73.
echo %pw% > Passwort.txt 
74.
echo Passwort wurde gespeichert) 
75.
if %yn%==Y ( 
76.
echo %pw% > Passwort.txt 
77.
echo Passwort wurde gespeichert) 
78.
if %yn%==N ( 
79.
echo Passwort wurde nicht gespeichert) 
80.
if %yn%==n ( 
81.
echo Passwort wurde nicht gespeichert) 
82.
echo Beenden??? 
83.
echo J/N 
84.
set /p beenden= 
85.
if "%beenden%"=="J" EXIT 
86.
if "%beenden%"=="j" EXIT 
87.
if "%beenden%"=="y" EXIT 
88.
if "%beenden%"=="Y" EXIT 
89.
goto begin
Bis dann
B-Free
Mitglied: rubberman
13.12.2012, aktualisiert um 23:12 Uhr
Hallo B-free,

ich würde das geringfügig anders angehen
01.
@echo off &setlocal enabledelayedexpansion 
02.
set "pwd=" 
03.
set /a "n = 0" 
04.
 
05.
set /p "n=Anzahl Stellen: " 
06.
 
07.
set /a "n = !n!" 2>nul 
08.
for /l %%i in (1 1 !n!) do ( 
09.
  set /a "x = !random! %% 94 + 33" 
10.
  cmd /c exit /b !x! 
11.
  set "pwd=!pwd!!=ExitCodeAscii!" 
12.
13.
 
14.
>"passwort.txt" echo(!pwd! 
15.
start "" notepad "passwort.txt"
Zur Erklärung:
Wie du auf einer ASCII Tabelle deiner Wahl erkennen kannst, hast du im Standardbereich die Zeichen ! (33) bis ~ (126) zur Auswahl.
Die Differenz ergibt 93. Wenn du nun in einer Modulooperation 94 als Divisor zu einer Zufallszahl berechnest, erhältst du eine Zahl zwischen 0 und 93. Dazu das Offset von 33 addieren, und du bewegst dich im Range der druckbaren Standard-ASCII Zeichen.
Die Kommandozeile kennt ein paar kaum dokumentierte Variablen. Eine davon ist %=ExitCodeAscii%. Diese gibt einen Errorlevelwert als ASCII Zeichen zurück. Genau das mache ich mir hier zu Nutze, um die Zeichen des Passworts zu bekommen.

BTW: So etwas wie
if %yn%==y ... 
if %yn%==Y ...
kannst du mit Option /i zu
if /i "%yn%"=="y" ...
zusammenfassen.

Grüße
rubberman
Bitte warten ..
Mitglied: B-free
15.12.2012 um 00:04 Uhr
Danke für den tipp.

ist doch noch ein wenig zusammengeschrumpft und vor allem beherrscht er jetzt auch (,),: usw...


Tschau
B-Free
Bitte warten ..
Mitglied: DerWoWusste
21.12.2012 um 19:40 Uhr
Hi.

Kennst Du schon
01.
net user administrator /random 
02.
Password for administrator is: 1l%TgY-Y
?
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Sonderzeichen in eine Batch automatisch einfügen (18)

Frage von Dr.Byte zum Thema Batch & Shell ...

Windows 10
Fenster Mini- Maximieren per Batch-Befehl (1)

Frage von knitti zum Thema Windows 10 ...

Batch & Shell
gelöst VPN per Batch o.ä. einrichten (3)

Frage von peterpa zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordnerstruktur aus Playlist per Batch wiederherstellen (4)

Frage von Mooswitz zum Thema Batch & Shell ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (29)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

RedHat, CentOS, Fedora
Fedora, RedHat, Centos: DNS-Search Domain setzen (13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...