BlackBoard (http://www.black-board.net/index.php)
- Sonstiges (http://www.black-board.net/board.php?boardid=34)
-- Bildung (http://www.black-board.net/board.php?boardid=39)
--- Basic Visual B. Programmierung eines Pwd generators (http://www.black-board.net/thread.php?threadid=15565)
Geschrieben von Tehocan am 16.01.2004 um 16:01:
Visual B. Programmierung eines Pwd generators
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
|
Private Sub cmdgen_Click()
If IsNumeric(txtanzahl) = False Then Exit Sub 'Prüft ob txtanzahl keinen Buchstaben besitzt
keygen (txtanzahl)
End Sub
'------------------------------------------------
Function keygen(ByVal anzahlstellen As Integer)
Dim dummie As Integer
Dim dum As Integer
For dummie = 1 To anzahlstellen
Randomize
dum = Rnd * 37
Select Case dum
Case 0
ergebnis = ergebnis & "a"
Case 1
ergebnis = ergebnis & "b"
Case 2
ergebnis = ergebnis & "c"
Case 3
ergebnis = ergebnis & "d"
Case 4
ergebnis = ergebnis & "e"
Case 5
ergebnis = ergebnis & "f"
Case 6
ergebnis = ergebnis & "g"
Case 7
ergebnis = ergebnis & "h"
Case 8
ergebnis = ergebnis & "i"
Case 9
ergebnis = ergebnis & "j"
Case 10
ergebnis = ergebnis & "k"
Case 11
ergebnis = ergebnis & "l"
Case 12
ergebnis = ergebnis & "m"
Case 13
ergebnis = ergebnis & "n"
Case 14
ergebnis = ergebnis & "o"
Case 15
ergebnis = ergebnis & "p"
Case 16
ergebnis = ergebnis & "q"
Case 18
ergebnis = ergebnis & "r"
Case 19
ergebnis = ergebnis & "s"
Case 20
ergebnis = ergebnis & "t"
Case 21
ergebnis = ergebnis & "u"
Case 22
ergebnis = ergebnis & "v"
Case 23
ergebnis = ergebnis & "w"
Case 24
ergebnis = ergebnis & "x"
Case 25
ergebnis = ergebnis & "y"
Case 26
ergebnis = ergebnis & "z"
Case 27
ergebnis = ergebnis & "0"
Case 28
ergebnis = ergebnis & "1"
Case 29
ergebnis = ergebnis & "2"
Case 30
ergebnis = ergebnis & "3"
Case 31
ergebnis = ergebnis & "4"
Case 32
ergebnis = ergebnis & "5"
Case 33
ergebnis = ergebnis & "6"
Case 34
ergebnis = ergebnis & "7"
Case 35
ergebnis = ergebnis & "8"
Case 36
ergebnis = ergebnis & "9"
Case 37
ergebnis = ergebnis & "*"
End Select
Next dummie
txtergebnis = ergebnis
End Function
|
|
Ich bitte darum, visual basic noch zu den Themenauswahlen hinzuzufügen
Geschrieben von HeaD am 16.01.2004 um 17:26:
Und ich bitte mal darum, den Leuten die kein VB können vielleicht mal ne kleine Erklärung dazuzuschreiben, was da bei dem Programm an welche Stelle passiert, denn so ist es nur ein Quellcode aber kein Tutorial
Geschrieben von Unknown am 26.01.2004 um 21:04:
Ja ...
Ich kenn mich zwar net wirklich gut mit VB aus ... aber was ich aus dem Source entlesen kann, sieht sehr professionell aus ...
Ich bitte dich Monkshood, dass du allen hier erklären kannst, wohin die Knöpfe und Befehle eingegeben werden müssen 8)
thx ... Unknown
Geschrieben von phlox81 am 26.01.2004 um 21:11:
Statt dem switch könntest du in jeder vernünftigen Programmiersprache
eine oder zwei Schleifen nehmen...
Devil
Geschrieben von CDW am 26.01.2004 um 22:51:
vielleicht auch so(?):
wert=(random 84)+42; (also von ASCII 42 bis 126 - alle ziffern und Sonderzeichen die per tastatur erreichbar sind, ansonsten einfach einschränken (ASCII Tabelle schauen)
buchstabe=funktionen_die_eine_zahl_in_buchstaben_umwandelt(wert )
(in Pascal: Char(wert) )
textergebnis:=textergebnis+buchstabe.
Jedenfalls in Pascal wäre das ein "klassischer Dreizeile"
![Augenzwinkern Augenzwinkern](images/smilies/wink.gif)
(ich persönlich wär einfach zu faul, soviel Case zu schreiben und hätte mir irgendeinen komplexen Algo ausgedacht, bloß um weniger schreiben zu müssen
![großes Grinsen großes Grinsen](images/smilies/biggrin.gif)
)
Geschrieben von Medusa am 29.01.2004 um 12:37:
Zitat: |
Original von Devil81
Statt dem switch könntest du in jeder vernünftigen Programmiersprache
eine oder zwei Schleifen nehmen... |
... und auch in vb (falls es keine vernünftige sein sollte).
z.b.
code: |
1:
2:
3:
4:
5:
6:
7:
|
laenge=10 ' Länge des PWs
randomize timer
pwd=""
for i = 1 to laenge
pwd=pwd & chr(rnd*(90-65)+65) ' Fügt einen Buchstaben mit einem Ascii-code zwischen 65 und 90 (A-Z) hinzu
next i
msgbox pwd |
|
Um auch Kleinbuchstaben und Zahlen zu ermöglichen kannst die Schleife noch so abändern:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
|
a=cint(rnd*2)
if a=0 then
pwd=pwd & chr(rnd*(90-65)+65) ' Großbuchstaben
elseif a=1 then
pwd=pwd & chr(rnd*(122-97)+97) ' Kleinbuchstaben
elseif a=2 then
pwd=pwd & chr(rnd*(57-48)+48) ' Zahlen
end if |
|
Man könnt auch in nen Array (zeichen()) alle gültigen Zeichen schreiben, und dann die Zeile in der Schleife so schreiben:
code: |
1:
|
pwd=pwd & zeichen(cint(rnd*ubound(zeichen)-1)) |
|
Wenn man mal auf die Zeilenzahl schaut, sieht man, dass man so grade mal 1/5 des obigen Beispiels benötigt. Und zudem ists auch noch "eleganter"...
edit
Erklärung:
in der Schleife wird zur Variable pwd ein Zeichen hinzugefügt. Und zwar folgendermaßen:
Die Funktion rnd() gibt ne Zufallszahl zwischen 0 und 1 zurück. Also erhalten wir durch
rnd*(90-65)+65 eine Zahl zwischen 65 und 90. Das ist nun der Ascii-Code eines Zeichens zwischen A und Z. Mit chr() erhalten wir dieses Zeichen.
Wenn nun noch Kleinbuchstaben und Zahlen dazukommen sollen, wird das selbe mit deren Ascii-Codes gemacht. Jetzt soll Zufällig ausgewählt werden, ob Groß, Klein oder Zahl.. dazu die zeile
a=cint(rnd*2). In a steht also ne Zahl zwischen 0 und 2. Wenn a=0 --> Groß, wenn a=1 --> Klein, wenn a=2 --> Zahl.
Klar?
Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH