Hallo Leute,
ich stelle einfachmal mein kleines Programm vor es heist PasswortGen es generiert zufällige Passwörter und speichert sie ab
(Desktop "\PasswortGen.txt")
man kann es zum Beispiel für irgend welche E-Mail Accounts nehmen oder so. Naja schaut es euch an und bewertet bitte aber Achtung ! ich bin noch ein Noob
PasswortGen
-
SionS -
22. Mai 2011 um 04:19
-
-
Hallo SionS,
für dein erstes Script nicht schlecht.
Sieht durchdacht aus und ist aufgeräumt.Nur 3 Dinge.
1. Die Funktion NurBuchstaben() ist leer (ergo unnötig )
2. Wenn Du AdlibRegister verwendest, dann solltest Du immer sicherstellen, dass die aufgerufene Funktion auch fertig ist,
bevor sie ein zweites mal aufgerufen wird. Zu diesem Zweck setzte man üblicherweise ein AdlibUnRegister an den Anfang der Funktion und startet diese nach Ende der Funktion wieder.
3. Die Formulierung Deines Textes ist etwas unglücklich und enthält einen Schreibfehler --> 'enthällt' --> enthältbtw.: Ich denke dass Du bei dem Script auch ohne AdlibRegister ausgekommen wärst...
Beispiel:Spoiler anzeigen
[autoit]#region ;**** Directives created by AutoIt3Wrapper_GUI ****
[/autoit] [autoit][/autoit] [autoit]
#AutoIt3Wrapper_icon=PngTexturen22\SionSLoGo.ico
#AutoIt3Wrapper_Res_Comment=By SionS
#AutoIt3Wrapper_Res_Description=Kennwort Gennerator
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstants.au3>#region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("SionS PasswortGen", 318, 154, 548, 312)
GUISetIcon("C:\Users\Tobias\Desktop\PngTexturen22\SionSLoGo.ico")
GUISetBkColor(0x000000)
$Label1 = GUICtrlCreateLabel("Drücken Sie auf GenStart.", 15, 15, 301, 23)
GUICtrlSetFont(-1, 12, 800, 0, "Arial")
GUICtrlSetColor(-1, 0xFFFFFF)
$Button1 = GUICtrlCreateButton("GenStart", 15, 105, 76, 31, 0)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Button2 = GUICtrlCreateButton("GenStop", 120, 105, 76, 31, 0)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Button3 = GUICtrlCreateButton("Copy and Save", 225, 105, 76, 31, 0)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]
#endregion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitCase $Button1
[/autoit] [autoit][/autoit] [autoit]
KeyGen()Case $Button2
[/autoit] [autoit][/autoit] [autoit]
KeyGenStop()Case $Button3
[/autoit] [autoit][/autoit] [autoit]
Copy()
Saven()EndSwitch
[/autoit] [autoit][/autoit] [autoit]If BitAND(GUICtrlGetState($Button1), $GUI_DISABLE) Then CreateKey() ; anstelle von AdlibRegister. Wenn es zu schnell geht einfach in der Funktion einen Sleep(XXX) setzen.
[/autoit] [autoit][/autoit] [autoit]
WEndFunc Saven()
[/autoit] [autoit][/autoit] [autoit]
$var = InputBox("PasswortGen", "Geben Sie hier ihren Verwendungszweck ihres generierten Passwortes ein, wenn sie keinen haben geben sie einfach nichts ein.")
$CurrentKey = GUICtrlRead($Label1)
FileWrite(@DesktopDir & "\PasswortGen.txt", " Ihr Passwort hat den Zweck für (" & $var & ") und lautet: " & $CurrentKey & " |")
MsgBox(64, "Info", "Eine Infodatei wurde auf ihrem Desktop erstellt die das Passwort und den von ihnen angegebenen Zweck enthällt.")
EndFunc ;==>SavenFunc Copy()
[/autoit] [autoit][/autoit] [autoit]
$CopyKey = GUICtrlRead($Label1)
ClipPut($CopyKey)
EndFunc ;==>CopyFunc KeyGenStop()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Button1, $GUI_ENABLE); gen start
GUICtrlSetState($Button2, $GUI_DISABLE); gen stop
EndFunc ;==>KeyGenStopFunc KeyGen()
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState($Button1, $GUI_DISABLE); gen start
GUICtrlSetState($Button2, $GUI_ENABLE); gen stop
EndFunc ;==>KeyGen;;;;;;;;;;;;;;;;;;;;;;;DANKE AN autoBert;;;;;;;;;;;;;;;;;;;;;;;;;;
[/autoit] [autoit][/autoit] [autoit]Func CreateKey()
[/autoit]
$iAbruch = Random(5, 19, 1)
$sKey = ""
For $iSpalte = 0 To 19
$iZahlOderBuchstabe = Random(0, 3, 1)
If Not $iZahlOderBuchstabe Then
$sKey &= Random(0, 9, 1)
Else
$iKlein = Random(0, 3, 1)
If $iKlein Then
$sKey &= Chr(Random(97, 122, 1))
Else
$sKey &= Chr(Random(65, 90, 1))
EndIf
EndIf
If $iSpalte = $iAbruch Then ExitLoop
Next
GUICtrlSetData($Label1, $sKey)
EndFunc ;==>CreateKey
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -
Danke für dein Feedback
ich versuche es mal mit If und ThenZu NurBuchstaben das war eine Idee von mir aber ich wollte sie dann doch nicht umsetzten und habe den Gedanken fallen gelassen aber vergessen es aus dem Script zu löschen
und den Rechtschreibfehler berichtige ich noch
Ich nix gut deutsch
-
2. Wenn Du AdlibRegister verwendest, dann solltest Du immer sicherstellen, dass die aufgerufene Funktion auch fertig ist,
bevor sie ein zweites mal aufgerufen wird. Zu diesem Zweck setzte man üblicherweise ein AdlibUnRegister an den Anfang der Funktion und startet diese nach Ende der Funktion wieder.
das stimmt so nicht, der nächste Durchlauf der Funktion wird frühestens aufgerufen wenn die 1. beendet ist, ausserdem ist die Zeit (250 ms = Standard) ausreichend die Funktion im worstcase (alle 20 Schleifendurchgänge) zu beenden. Das 2. kannst du hiermit testen:Spoiler anzeigen
[autoit]Func CreateKey()
[/autoit]
$dt = TimerInit()
$iAbruch = Random(5, 19, 1)
$sKey = ""
For $iSpalte = 0 To 19
$iZahlOderBuchstabe = Random(0, 3, 1)
If not $iZahlOderBuchstabe Then
$sKey &= Random(0, 9, 1)
Else
$iKlein = Random(0, 3, 1)
If $iKlein Then
$sKey &= Chr(Random(97, 122, 1))
Else
$sKey &= Chr(Random(65, 90, 1))
EndIf
EndIf
; If $iSpalte = $iAbruch Then ExitLoop
Next
GUICtrlSetData($Label1,$sKey)
ConsoleWrite(TimerDiff($dt) & @CRLF)
EndFunc@SionS: was mich an deinem Passwortgenerator stört ist dass das Passwort in einer Textdatei auf dem Desktop angelegt werden kann, dies sollte man aus Sicherheitsgründen nie tun.
mfg autoBert
-
autoBert Das mit der .txt Datei ist so gedacht ich habe so zum bsp. mein Skype PW gemacht und in der .txt steht alles drin ABER ich lasse die Datei nicht auf dem Desktop ich habe sie mir auf meinen Usb Stick gezogen. Die Datei hat nur des Sinn das man sein PW und den zweck nicht vergisst.
-
Hallo Sions,
solltest Du die Absicht habe Dein Tool weiter zu geben so bau doch eine MSG-Box ein die nach dem PW generieren darauf hinweist die TXT in einen sicheren Ort zu verschieben.
Die Idee sie erst mal auf dem Desktop zu lassen finde ich gut, so kann jeder PC-Nutzer sie hinschieben wo er sie auch wiederfindet, ohne lange zu suchen wenn Du einen Pfad vorgeben würdest.
Willst Du es nur für Dich nutzen ist es Jacke wie HoseLG Jokel
achja, ich finde Dein Tool toll , da ich mich auch jetzt an proggen rannwagen möchte. Brauche manchmal als FISI das ein oder andere Tool und will die auf meine Bedürfnisse zuschneiden