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 rotes Gesicht



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 ... Zunge raus

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 (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 )



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