wachtwoord

Status
Niet open voor verdere reacties.

erten

Gebruiker
Lid geworden
17 apr 2012
Berichten
39
hoe maak je een wachtwoord in je programma
bv.
eerst open je het programma dan staat er in een label
wachtwoord:
als je in die tekstbox daar onder het wachtwoord (juiste)
tybe en dan op button (ok ) klikt ga je naar form1 en dan gaat form2 weg
weet iemand hoe dat moet

dit is de code die ik al heb :
Code:
Public Class Form3


    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Formverslag.ShowDialog()
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Close()
    End Sub
End Class
 
Laatst bewerkt:
de taal weet ik niet echt maar met
het programma :
Microsoft Visual Basic 2010 Express
 
Laatst bewerkt:
In welke codeertaal?
Lijkt me logisch, weet je welke sectie dit is?:rolleyes:

@TS: Zoiets? :

[cpp]Private Sub OkButton_Click() Handles OkButton.Click
If WachtwoordTextBox.Text = "Wachtwoord" Then
Form1.Show()
Form2.Close()
End If
End Sub[/cpp]

Wel even de namen van de controls vervangen, maar dat spreekt voor zich ;)

Welkom op het forum trouwens :thumb:
 
Ehm, even een kleine toevoeging: Dit is geen erg veilige manier om te checken of het een goed wachtwoord is... Met de juiste software is het namelijk mogelijk om de code van (veel) programma's terug te halen. Als daar dus zo een wachtwoord in staat, dan is dat niet erg veilig.

Als het een klein programmaatje is, dan maakt het waarschijnlijk niet zoveel uit. Ook omdat er volgens mij niet zoveel mensen zijn die weten hoe het moet. Maar als je aan een groter project bezig bent, dan is het misschien wel goed om te kijken naar een veiligere methode.

Ik kan zo snel geen (veilige) tutorial op internet vinden, maar misschien kan je ook even naar MD5 of SHA1 kijken.
Even snel hoe je dat dan kan gebruiken:
Er word een wachtwoord ingevuld in een textbox (neem ik aan). Daarvan maak je dan een MD5 of SHA1-string. Die check je dan met de MD5 of SHA1-string die je in je code hebt staan.

Voorbeeldje (met SHA1):
Code:
Public Class Form1

    Private Sub BtnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOk.Click
        If SHA1.load(TbWachtwoord.Text) = "SHA1-string" Then
            Form1.Show()
            form2.Close()
        End If
    End Sub

    Private Sub BtnAnnuleer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAnnuleer.Click
        Application.Exit()
    End Sub
End Class


Module SHA1

    Public Function load(ByVal txt As String)
        Return CalcString(txt)
    End Function

    Private Function CalcString(ByVal strData As String) As String
        Dim objSHA1 As New System.Security.Cryptography.SHA1CryptoServiceProvider
        Dim arrData() As Byte
        Dim arrHash() As Byte

        arrData = System.Text.Encoding.UTF8.GetBytes(strData)

        arrHash = objSHA1.ComputeHash(arrData)

        objSHA1 = Nothing

        Return ByteArrayToString(arrHash)
    End Function

    Private Function ByteArrayToString(ByVal arrInput() As Byte) As String
        Dim strOutput As New System.Text.StringBuilder(arrInput.Length)

        For i As Integer = 0 To arrInput.Length - 1
            strOutput.Append(arrInput(i).ToString("X2"))
        Next

        Return strOutput.ToString.ToLower
    End Function
End Module

Ook dit is niet 100% veilig, maar helaas is (bijna) niks dat... :(


Succes!:thumb:
MartinJM
 
@MartinJM: Ja, maar ik had voor de makkelijkste weg gekozen omdat ik dacht dat de TS nog niet zo gevorderd was met VB. ;)

@TS: Maar het loont inderdaad de moeite om eens naar de post van MartinJM te kijken.
 
@Joz1: Dat idee had ik al, maar als het om het beveiligen van een (deel van een) programma gaat, dan denk ik toch dat dat wel veilig moet zijn. Jouw oplossing is namelijk inderdaad wel makkelijker, maar bij beveiligen ga ik persoonlijk liever voor veiliger dan voor makkelijker...

@TS:
Als je MD5 wilt gebruiken, dan kan je deze code gebruiken om die MD5-string te maken:
Code:
Module MD5

    Public Function load(ByVal txt As String)
        Return MD5CalcString(txt)
    End Function

    Private Function MD5CalcString(ByVal strData As String) As String
        Dim objMD5 As New System.Security.Cryptography.MD5CryptoServiceProvider
        Dim arrData() As Byte
        Dim arrHash() As Byte

        arrData = System.Text.Encoding.UTF8.GetBytes(strData)

        arrHash = objMD5.ComputeHash(arrData)

        objMD5 = Nothing

        Return ByteArrayToString(arrHash)
    End Function

    Private Function ByteArrayToString(ByVal arrInput() As Byte) As String
        Dim strOutput As New System.Text.StringBuilder(arrInput.Length)

        For i As Integer = 0 To arrInput.Length - 1
            strOutput.Append(arrInput(i).ToString("X2"))
        Next

        Return strOutput.ToString.ToLower
    End Function
End Module

Ik was wel vergeten iets te zeggen: Deze codes komen niet van mij, ik heb ze ook van het internet, maar ik heb wel op verdachte dingen gelet en ze getest. Ik gebruik ze zelf namelijk ook. Verder is deze code (op de namen na) hetzelfde te gebruiken als de code voor SHA1.

Succes!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan