SpookMeister Posted February 27, 2006 Share Posted February 27, 2006 I threw this together the other day, and while I'm sure there have been quite a few of these made already, maybe someone will find it usefull. expandcollapse popup#include <GUIConstants.au3> ; 7 digit random password generator containing at least 1 each of ; Capital Letters, Lowercase Letters, and Numbers (no special chars) ; and coppies it to the clipboard $text = MakePass() GUICreate("PassGen", 260, 160) $button_1 = GUICtrlCreateButton("Get Another Password", 25, 70, 200) GUICtrlCreateLabel("Passwords are auto-coppied to the clipboard", 25, 120, 230) GUISetFont(21) $label_1 = GUICtrlCreateLabel($text, 70, 30, 150) GUISetState() ; Run the GUI until the dialog is closed While 1 $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then ExitLoop If $msg = $button_1 Then Update() WEnd ; Update the GUI with a new password Func Update() $text = MakePass() GUICtrlSetData($label_1, $text) EndFunc ;==>Update Func MakePass() ; verify that password will have at least 1 of all three types of chars $GoodPass = 0 Do $chkPass = rndLayout() If StringInStr($chkPass, "1") Then If StringInStr($chkPass, "2") Then If StringInStr($chkPass, "3") Then $GoodPass = 1 EndIf EndIf EndIf Until $GoodPass = 1 ; Now that we have an acceptable layout for the password... populate it $password = "" For $x = 1 To 7 $password = $password & Convert(StringMid($chkPass, $x, 1)) Next ClipPut($password) Return $password EndFunc ;==>MakePass Func Convert($cat) ; Numbers If $cat = 1 Then $val = Chr(Random(49, 57, 1)) ; Capital Letters ElseIf $cat = 2 Then $val = Chr(Random(65, 90, 1)) ; Lowercase Letters Else $val = Chr(Random(97, 122, 1)) EndIf ; Subsitute undesired values to other values (personal preference) If $val = "l" Then $val = "x" If $val = "1" Then $val = "5" If $val = "i" Then $val = "y" If $val = "O" Then $val = "R" Return $val EndFunc ;==>Convert ; make a 7 char string of numbers 1 thru 3 Func rndLayout() $str = "" For $i = 1 To 7 $str = $str & Random(1, 3, 1) Next Return $str EndFunc ;==>rndLayout [u]Helpful tips:[/u]If you want better answers to your questions, take the time to reproduce your issue in a small "stand alone" example script whenever possible. Also, make sure you tell us 1) what you tried, 2) what you expected to happen, and 3) what happened instead.[u]Useful links:[/u]BrettF's update to LxP's "How to AutoIt" pdfValuater's Autoit 1-2-3 Download page for the latest versions of Autoit and SciTE[quote]<glyph> For example - if you came in here asking "how do I use a jackhammer" we might ask "why do you need to use a jackhammer"<glyph> If the answer to the latter question is "to knock my grandmother's head off to let out the evil spirits that gave her cancer", then maybe the problem is actually unrelated to jackhammers[/quote] Link to comment Share on other sites More sharing options...
kmps Posted March 22, 2006 Share Posted March 22, 2006 very good,I am just using it,thank you!!! I threw this together the other day, and while I'm sure there have been quite a few of these made already, maybe someone will find it usefull. expandcollapse popup#include <GUIConstants.au3> ; 7 digit random password generator containing at least 1 each of ; Capital Letters, Lowercase Letters, and Numbers (no special chars) ; and coppies it to the clipboard $text = MakePass() GUICreate("PassGen", 260, 160) $button_1 = GUICtrlCreateButton("Get Another Password", 25, 70, 200) GUICtrlCreateLabel("Passwords are auto-coppied to the clipboard", 25, 120, 230) GUISetFont(21) $label_1 = GUICtrlCreateLabel($text, 70, 30, 150) GUISetState() ; Run the GUI until the dialog is closed While 1 $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then ExitLoop If $msg = $button_1 Then Update() WEnd ; Update the GUI with a new password Func Update() $text = MakePass() GUICtrlSetData($label_1, $text) EndFunc ;==>Update Func MakePass() ; verify that password will have at least 1 of all three types of chars $GoodPass = 0 Do $chkPass = rndLayout() If StringInStr($chkPass, "1") Then If StringInStr($chkPass, "2") Then If StringInStr($chkPass, "3") Then $GoodPass = 1 EndIf EndIf EndIf Until $GoodPass = 1 ; Now that we have an acceptable layout for the password... populate it $password = "" For $x = 1 To 7 $password = $password & Convert(StringMid($chkPass, $x, 1)) Next ClipPut($password) Return $password EndFunc ;==>MakePass Func Convert($cat) ; Numbers If $cat = 1 Then $val = Chr(Random(49, 57, 1)) ; Capital Letters ElseIf $cat = 2 Then $val = Chr(Random(65, 90, 1)) ; Lowercase Letters Else $val = Chr(Random(97, 122, 1)) EndIf ; Subsitute undesired values to other values (personal preference) If $val = "l" Then $val = "x" If $val = "1" Then $val = "5" If $val = "i" Then $val = "y" If $val = "O" Then $val = "R" Return $val EndFunc ;==>Convert ; make a 7 char string of numbers 1 thru 3 Func rndLayout() $str = "" For $i = 1 To 7 $str = $str & Random(1, 3, 1) Next Return $str EndFunc ;==>rndLayout Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now