Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 18:43

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Visual Basic 2008 Verschlüsselung - Sicherheit?

Discussion on Visual Basic 2008 Verschlüsselung - Sicherheit? within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2011
Posts: 29
Received Thanks: 0
Visual Basic 2008 Verschlüsselung - Sicherheit?

Guten Tag,

ich arbeite zur Zeit an einer Methode eine sichere Passwortabfrage zu erstellen.
Ich habe mir dann folgendes überlegt:

Ein Zahlencode ist gespeichert. In das Textfeld gibt man das Passwort ein, z.B. Haus und dann wird jeder Buchstabe verschlüsselt, also a= 1, b=2 usw. nur halt nicht mit 1,2,3 usw. :P

Soweit so gut funktioniert es auch. Ich lade beim Klick auf Login jedes Zeichen in eine Variable und lasse es dann durch eine funktion umformen. Der umgeforme Wert kommt in eine neue Variable. Insgesamt also 20Variablen für die Eingabe und das umgeformte.
Am Ende wird dann alles in einer Variable zusammengetragen, also Variable eingegebenespasswort = umgeformtes zeichen 1, umgeformtes zeichen 2 usw...

Diese Variable, in der alles zusammengetragen ist, wird dann mit der Variable mit dem Code verglichen und dann wird je nach ergebnis eben der login als erfolgreich oder fehlgeschlagen erklärt.

Meine Frage wäre jetzt: Ist das überhaupt sicherer als eine einfache If-Abfrage? Können nich andere einfach die Werte von außen auslesen? Gibt es eine Bessere Methode? Was ist daran schlecht usw..
Mein Problem ist meine feste Zuordnung der Form "Buchstabe x = Zahl y".

Hier mal Codeausschnitte :

Die Deklarierung:
Code:
'originale Zeichen
Dim zeichen1 As String
Dim zeichen2 As String
Dim zeichen3 As String
Dim zeichen4 As String
Dim zeichen5 As String
Dim zeichen6 As String
Dim zeichen7 As String
Dim zeichen8 As String
Dim zeichen9 As String
Dim zeichen10 As String
'convertierte Zeichen
Dim czeichen1 As String
Dim czeichen2 As String
Dim czeichen3 As String
Dim czeichen4 As String
Dim czeichen5 As String
Dim czeichen6 As String
Dim czeichen7 As String
Dim czeichen8 As String
Dim czeichen9 As String
Dim czeichen10 As String
'Funktion Convertieren
Dim variable As String
Dim cvariable As String
Die festsetzung des Passworts
Code:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

passwort = "123"

Einlesen der Zeichen usw. :
Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Zeichen einlesen
Try
zeichen1 = TextBox2.Text(0)
zeichen2 = TextBox2.Text(1)
zeichen3 = TextBox2.Text(2)
zeichen4 = TextBox2.Text(3)
zeichen5 = TextBox2.Text(4)
zeichen6 = TextBox2.Text(5)
zeichen7 = TextBox2.Text(6)
zeichen8 = TextBox2.Text(7)
zeichen9 = TextBox2.Text(8)
zeichen10 = TextBox2.Text(9)
Catch
MsgBox("Fehlerhafter Benutzername oder Passwort", MsgBoxStyle.Critical, "Achtung!")
End Try
'Zeichen convertieren
czeichen1 = Convertieren(zeichen1)
czeichen2 = Convertieren(zeichen2)
czeichen3 = Convertieren(zeichen3)
czeichen4 = Convertieren(zeichen4)
czeichen5 = Convertieren(zeichen5)
czeichen6 = Convertieren(zeichen6)
czeichen7 = Convertieren(zeichen7)
czeichen8 = Convertieren(zeichen8)
czeichen9 = Convertieren(zeichen9)
czeichen10 = Convertieren(zeichen10)
'Passwort abfragen
If czeichen1 + czeichen2 + czeichen3 + czeichen4 + czeichen5 + czeichen6 + czeichen7 + czeichen8 + czeichen9 + czeichen10 = passwort And txtbox_login.Text = login Then
Form2.Show()
Else : MsgBox("Fehlerhafter Benutzername oder Passwort", MsgBoxStyle.Critical, "Achtung!")
schreiben.Close()
End If
End Sub
Die Funktion

Code:
Public Function Convertieren(ByVal zeichen As String) As String
Select Case zeichen
'Großbuchstaben
Case "A"
Return "1"
Case "B"
Return "2"
Case "C"
Return "3"

Natürlich habe ich A-Z, a-z und 0-9 auch noch

Würde mich über Antworten freuen.
Salatgurke2011 is offline  
Old 03/18/2012, 19:48   #2
 
TyronP_G's Avatar
 
elite*gold: 0
Join Date: Sep 2007
Posts: 89
Received Thanks: 50
Hey,

um eine "sichere" passwordabfrage zu machen würde ich nicht so ein quatsch machen(nicht böse gemeint ) sondern zu MD5 z.B wechseln ist simpler und besser meiner Meinung nach . Und .net code ist im Allgemeinen sehr unsicher.(Find ich )

Hiermit kannst du eine das Password zu einer md5 summe machen:

MD5:

Code:
Imports System.Security.Cryptography
Imports System.Text

Public Function MD5StringHash(ByVal strString As String) As String
    Dim MD5 As New MD5CryptoServiceProvider
    Dim Data As Byte()
    Dim Result As Byte()
    Dim Res As String = ""
    Dim Tmp As String = ""

    Data = Encoding.ASCII.GetBytes(strString)
    Result = MD5.ComputeHash(Data)
    For i As Integer = 0 To Result.Length - 1
        Tmp = Hex(Result(i))
        If Len(Tmp) = 1 Then Tmp = "0" & Tmp
        Res += Tmp
    Next
    Return Res
End Function
(Aus dem i-net programmiere nicht mit VB)


Einfach abfragen ob die Summe des eingegebenen Passwords der Summe der gespeicherten MD5-Summe entspricht.
TyronP_G is offline  
Thanks
1 User
Old 03/18/2012, 19:55   #3


 
Al Kappaccino's Avatar
 
elite*gold: 179
Join Date: Oct 2009
Posts: 7,853
Received Thanks: 8,558
Um es noch einmal für den TE zu erklären (weil ich nicht denke, dass er sich sogut damit auskennt ^^).

Ein MD5 Hash ist eine einseitige Verschlüsselung. Sprich du kannst z.B. aus "Hallo" einen MD5 Hash generieren lassen (wäre "d1bf93299de1b68e6d382c893bf1215f") diesen kannst du aber nicht wieder in "Hallo" zurück entschlüsseln.

Jeder Hash ist komplett einzigartig und deshalb wirst du immer ein anderes Ergebnis kriegen, je nachdem was du umwandelst.

Man verwendet es so:

Du wählst also als Passwort "Hallo".

Mit dem algo generiert man aus diesem String den MD5 Hash "d1bf93299de1b68e6d382c893bf1215f"

Dieser Hash wird in einer Datenbank abgelegt/gespeichert.

Wenn du dich nun einloggen willst, gibst du als Passwort "Hallo" ein, er generiert temporär wieder den MD5 Hash und überprüft dann ob er mit dem Hash aus der Datenbank übereinstimmt.



Im Prinzip wäre es so aufgebaut, nur als Information damit du es auch verwenden kannst

MFG
Al Kappaccino is offline  
Old 03/18/2012, 20:02   #4
 
elite*gold: 0
Join Date: Aug 2011
Posts: 29
Received Thanks: 0
Dank,
ich sollte laut Buch eine einfache Cäsar-Verschlüsselung machen, jetzt wollte ich die ganze Sache halt noch Komplexer machen.

So dann?
Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Passwort
        Dim password As String
        password = "HASHCODE"
        If MD5F(txtbox_pw.Text) = password Then
            schreiben.Write("Uhrzeit: " & lbl_Zeit.Text & vbCrLf & "IP: " & lbl_ip.Text & vbCrLf & "Login: Erfolgreich" & vbCrLf & "_____________________" & vbCrLf)
            schreiben.Close()
            Form2.Show()
        Else : MsgBox("Fehlerhafter Benutzername oder Passwort", MsgBoxStyle.Critical, "Achtung!")
            schreiben.Write("Uhrzeit: " & lbl_Zeit.Text & vbCrLf & "IP: " & lbl_ip.Text & vbCrLf & "Login: Fehlgeschlagen" & vbCrLf & "_____________________" & vbCrLf)
            schreiben.Close()
        End If
    End Sub
    Public Function MD5F(ByVal Inhalt As String) As String
        Dim MD5 As New System.Security.Cryptography.MD5CryptoServiceProvider
        Dim Bytecode() As Byte = System.Text.Encoding.ASCII.GetBytes(Inhalt)
        Bytecode = MD5.ComputeHash(Bytecode)
        Dim HASH As String = 0
        For Each bt As Byte In Bytecode
            HASH &= bt.ToString
        Next
        Return HASH
    End Function
End Class
Salatgurke2011 is offline  
Old 03/19/2012, 09:15   #5

 
boxxiebabee's Avatar
 
elite*gold: 0
Join Date: May 2008
Posts: 1,222
Received Thanks: 500
Nimm lieber nen SHA hash mit nem Salt. Weil MD5 ist auch nicht mehr das sicherste wegen Rainbowtables.
boxxiebabee is offline  
Old 03/20/2012, 00:42   #6
 
elite*gold: 14
The Black Market: 108/0/1
Join Date: May 2011
Posts: 2,671
Received Thanks: 818
Nimm einer XOR Verschlüsselung.
Die passt du dann mit einem Salt deinen Wünschen an.

Fertig.
vwap is offline  
Old 03/20/2012, 18:13   #7
 
elite*gold: 0
Join Date: Aug 2011
Posts: 29
Received Thanks: 0
Danke
Ich versuch mich mal daran das Umzusetzen
Salatgurke2011 is offline  
Old 03/23/2012, 16:05   #8
 
elite*gold: 87
Join Date: Nov 2010
Posts: 933
Received Thanks: 40
Du kannst auch andere Verschlüssllungsmethoden anwenden, oder mehrere z.B. MD5 + Base64, wenn es nicht stimmt, korrigiert mich !
neils2161 is offline  
Old 03/23/2012, 19:48   #9
 
elite*gold: 14
The Black Market: 108/0/1
Join Date: May 2011
Posts: 2,671
Received Thanks: 818
MD5 ist keine Verschlüsselung.
vwap is offline  
Old 03/23/2012, 21:49   #10
 
elite*gold: 0
Join Date: Aug 2011
Posts: 29
Received Thanks: 0
Habe jetzt jede eurer Ideen umgesetzt. Es sollte ja schließlich nur als Übung dienen. Danke
Salatgurke2011 is offline  
Old 03/24/2012, 14:42   #11
 
qickly's Avatar
 
elite*gold: 0
Join Date: Apr 2011
Posts: 351
Received Thanks: 57
Warum benutzt du kein gutes Programmverschlüsselungs Tool was auch kostenlos ist? Die haben dann auch eine String Encryption somit wird alles etwas schwieriger zu cracken his hin zum 99% Schutz.
Warnung jeder Salt kann ausgelesen werden genauso deine Verfahren.... Wenn du nicht was dagegen tust.
qickly is offline  
Old 03/24/2012, 22:49   #12
 
elite*gold: 0
Join Date: Aug 2011
Posts: 29
Received Thanks: 0
Ich weiß leider nicht genau was du meinst. Ich bin wie gesagt noch am lernen, das Programm soll nur eine Übung sein. Ich sollte laut meinem Buch eine Caesar Verschlüsselung machen. Habe mich jetzt entschlossen einfach das ganze noch zu verbessern, weil die Caeser Verschlüsslung ja nicht grade sicher ist.
Salatgurke2011 is offline  
Old 03/25/2012, 01:57   #13
 
qickly's Avatar
 
elite*gold: 0
Join Date: Apr 2011
Posts: 351
Received Thanks: 57
Quote:
Originally Posted by Salatgurke2011 View Post
Ich weiß leider nicht genau was du meinst. Ich bin wie gesagt noch am lernen, das Programm soll nur eine Übung sein. Ich sollte laut meinem Buch eine Caesar Verschlüsselung machen. Habe mich jetzt entschlossen einfach das ganze noch zu verbessern, weil die Caeser Verschlüsslung ja nicht grade sicher ist.
Puh, du kannst kannst leicht die Datei patchen und den Login überspringen.
Du kommst bei hóher Sicherheit nicht um xy Hunter rum....
qickly is offline  
Old 03/25/2012, 05:57   #14
 
elite*gold: 14
The Black Market: 108/0/1
Join Date: May 2011
Posts: 2,671
Received Thanks: 818
Quote:
Originally Posted by qickly View Post
Puh, du kannst kannst leicht die Datei patchen und den Login überspringen.
Du kommst bei hóher Sicherheit nicht um xy Hunter rum....
Fürwas xy Hunter?
Ein Necrobit Layer ist derzeit noch nicht gecrackt worden, daher zählt das derzeit noch als 100% sicher (zumindest ist nichts public).
Unteranderem kann der .NET Reactor Necrobit Layer über eine .NET Assembly legen.
vwap is offline  
Old 03/25/2012, 14:44   #15
 
qickly's Avatar
 
elite*gold: 0
Join Date: Apr 2011
Posts: 351
Received Thanks: 57
Necrobit kostet, xy Hunter nicht....
Das macht auch keine Werbung und ich benutzte das... Ist wirklich sicher.

Necrobit kostet, xy Hunter nicht....
Das macht auch keine Werbung und ich benutzte das... Ist wirklich sicher.
qickly is offline  
Reply


Similar Threads Similar Threads
Visual Basic 2008 !!! Help
09/22/2010 - .NET Languages - 1 Replies
Hey will wieder Bot´s für Mt2 P-server machen also kein hackschield trz geht es über sendkeys.send ("{ }") nich mehr kann mir jemand sagen wiso Sagt mir wer wie ich das Hinkriege das er in Metin2 dan schlägt ^^ Bzw. in Dem Privat-server
Visual Basic 2008
06/19/2010 - WarRock - 11 Replies
Suche Visual BAsic 2008 c++ express den downlaod habe nähmlich nur 2008 express und 2010 c++ bruache 2008 c++
Visual basic 2008 ?
06/12/2010 - Technical Support - 7 Replies
Hey leute habe kleines progrmm geschrieben mit vb2008 so nun mein problem . wie kann ich die gespeicherte datei (.net) glaub ich in eine exe umwandeln so das es andere auch benutzen können ?
Visual Basic 2008
06/03/2010 - WarRock - 8 Replies
Hi Da Hier Viele von Euch Mit Vb Was Coden Habe Ich Eine Frage. Ihr Kennt Ja Bei Webbrowsern Rechts Am Rand Die Scroll Leiste. Ich Würde Gerne In VB Ein Ein Panel Haben Wo Ich Drin RunterScrollen Kann. Könnt Ihr Mir Helfen?:confused:
how to use visual basic 2008?
09/28/2009 - CO2 Programming - 2 Replies
how to use visual basic 2008? help me please or give me some codes.



All times are GMT +2. The time now is 18:43.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.