[HowTo][Visual Basic]Programm nutzbar machen wenn man das richtige Passwort eingibt !

08/28/2011 14:45 .Shinoda™#1
Hey E*PVP Coders. :P
Ich hatte mal Lust ein kleines Tutorial zu machen.

Dieses ist eig. ganz einfach !

Nochmal die zusammen fassung:
Ich zeige euch, wie ihr euer Programm "Schützen" könnt.
D.h. man kann die Form2 erst öffnen wenn man in Form1 das richtige Passwort eingibt, bzw. das Wort.

So dann fangen wir mal an:

1.) Ihr erstellt eine neue Windows Forms anwendung
2.) Danach erstellt ihr eine Textbox einen Label und einen Button, das ganze kann dann so aussehen:


[Only registered and activated users can see links. Click Here To Register...]

3.) Ihr klickt Button1 an und schreibt dieses rein:

Code:
        If TextBox1.Text = "EuerPasswort" Then
            MsgBox("Das Passwort war richtig !", MsgBoxStyle.Information)
            Form2.Show()
        Else
            MsgBox("Das Passwort war NICHT richtig !", MsgBoxStyle.Critical)
        End If
So denkt daran das ihr EuerPasswort mit euren passwort ersetzen müsst.
Zwischen den " .

4.) Damit man nicht immer auf den Button klicken muss,
machen wir es noch das man auch den Enter Knopf klicken kann.

Das geht so:

Ihr klickt die Textbox an (Doppelklick) und fügt einfach das ein:
(ohne was zu löschen etc. auch mit dem END SUB !!)


Code:
   End Sub

    Private Sub TextBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
        If e.KeyData = Keys.Enter Then
        End If
Gut das wars dann auch schon wieder. :P
Hoffe es hat euch gefallen bzw. geholfen :P


Greetz .Shinoda™



Idee was ich für ein Tutorial machen kann ?
PN me

08/28/2011 14:47 Cr41s3'#2
Danke,

habe es aber in AutoIt :D
08/28/2011 15:09 .Resource#3
Nice Work ;D
08/28/2011 15:10 BoGaRaM#4
Joa hmm, für Anfänger hm :D
Es gibt wohl n kleinen Umweg um das Passwort in Form1 herauszubekommen und
dann Form2 und co zu sehen...

Wer mein Tutorial kennt, weiß was ich mein.

-
Aber ansonsten denke ich wirklich Klasse erklärt und
es hilft definitiv einige ;)
08/28/2011 16:08 .Shinoda™#5
Ja ich weiß auch wie es geht, aber für Anfänger reicht es.
08/28/2011 16:10 ●ROBBY●#6
Für Lernzwecke nicht schlecht (obwohl das jeder der die If Schleife kennt können sollte).
man muss aber dazu sagen dass dieses verfahren keinesfalls sicher ist (Ein paar Sekunden mit Olly würden reichen).
08/28/2011 19:04 Che#7
Naja sowas kann eigentlich jeder, der Grundlegende Programmierkenntnisse hat
Kleiner Tipp von mir:
Passwörter NIEMALS(!) im Klartext speichern!
Crypte doch das Passwort zb mit nem MD5 Hash... Geht so:
Code:
Imports
Code:
 System.Security.Cryptography 
[COLOR=#0000FF]Imports[/COLOR] System.Text  
[COLOR=#0000FF]Public[/COLOR] [COLOR=#0000FF]Function[/COLOR] MD5StringHash([COLOR=#0000FF]ByVal[/COLOR] strString [COLOR=#0000FF]As[/COLOR] [COLOR=#0000FF]String[/COLOR]) [COLOR=#0000FF]As[/COLOR] [COLOR=#0000FF]String[/COLOR]     
[COLOR=#0000FF]Dim[/COLOR] MD5 [COLOR=#0000FF]As[/COLOR] [COLOR=#0000FF]New[/COLOR] MD5CryptoServiceProvider     
[COLOR=#0000FF]Dim[/COLOR] Data [COLOR=#0000FF]As[/COLOR] [COLOR=#0000FF]Byte[/COLOR]()     
[COLOR=#0000FF]Dim[/COLOR] Result [COLOR=#0000FF]As[/COLOR] [COLOR=#0000FF]Byte[/COLOR]()    
[COLOR=#0000FF]Dim[/COLOR] Res [COLOR=#0000FF]As[/COLOR] [COLOR=#0000FF]String[/COLOR] = ""     [COLOR=#0000FF]
Dim[/COLOR] Tmp [COLOR=#0000FF]As[/COLOR] [COLOR=#0000FF]String[/COLOR] = ""      
Data = Encoding.ASCII.GetBytes(strString)     
Result = MD5.ComputeHash(Data)     [COLOR=#0000FF]
For[/COLOR] i [COLOR=#0000FF]As[/COLOR] [COLOR=#0000FF]Integer[/COLOR] = 0 [COLOR=#0000FF]To[/COLOR] Result.Length - 1         
Tmp = Hex(Result(i))        
[COLOR=#0000FF]If[/COLOR] Len(Tmp) = 1 [COLOR=#0000FF]Then[/COLOR] 
Tmp = "[COLOR=#8B0000]0[/COLOR]" & Tmp         
Res += Tmp     [COLOR=#0000FF]
Next[/COLOR]     [COLOR=#0000FF]
Return[/COLOR] Res 
[COLOR=#0000FF]End[/COLOR] [COLOR=#0000FF]Function
[/COLOR]
Abgeprüft wird dann so:
Code:
[COLOR=RoyalBlue][COLOR=Blue]If[/COLOR] [/COLOR]MD5StringHash(TextBox1.Text) = "VorherBerechneterHashDeinesPassworts" [COLOR=Blue]Then[/COLOR]
MsgBox("Das Passwort war richtig !", MsgBoxStyle.Information)
Form2.Show()
[COLOR=Blue]Else[/COLOR]
MsgBox("Das Passwort war NICHT richtig !", MsgBoxStyle.Critical)
[COLOR=Blue]End If[/COLOR]
Die MD5 Hashes für eure Passwörter könnt ihr direkt online unter [Only registered and activated users can see links. Click Here To Register...] gleich berechnen lassen ^^

So wirds bissel sicherer und Olly hat keine Chance mehr... Nichtmal der .net Reflector kann jetzt noch das Passwort im Klartext auslesen :awesome:

Achja: Du vergisst ganz zu erwähnen, dass man den Hauptcode seines Programms in einer Neuen Form (Form2) speichern muss.....
08/28/2011 19:14 .Shinoda™#8
Stimmt wusste nur net wie ich es beschreiben soll mit Hashen.

Danke :P
08/29/2011 21:18 P00w#9
kleiner Tipp noch :)
unter Form2.show
noch Me.hide
schreiben
Weil dann versteckt man die Form1 und stört nicht im hintergrund.

Code:
  If TextBox1.Text = "EuerPasswort" Then
            MsgBox("Das Passwort war richtig !", MsgBoxStyle.Information)
            Form2.Show()
            Me.Hide()
        Else
            MsgBox("Das Passwort war NICHT richtig !", MsgBoxStyle.Critical)
        End If
Hoffe nur das heißt Me.Hide und nicht Form1.Hide aber glaub Me. bast^^
08/29/2011 21:19 Jason Ulrich#10
Danke, wiedereinmal etwas zum Üben.
08/29/2011 22:15 xCoKeZx#11
finde ist ein gutes tut für anfänger

aber kommt sowas nicht in den tutorial bereich?
08/30/2011 15:19 Che#12
Kommt wenn man es genau nimmt in den e*coder-tutorial bereich ([Only registered and activated users can see links. Click Here To Register...])