Da sind ein paar Fehler allein dadurch, dass du Option Strict Off hast. Schreib mal über "Public Class Form1" "Option Strict On". Dann werden dir die Fehler angezeigt, die kannst du aber sehr leicht lösen indem du die Typen konvertierst. Außerdem würde ich mal die vielen Leerzeilen entfernen, dass ist sonst echt unübersichtlich
Vernam Verschlüsselung speichern
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 37 Antworten in diesem Thema. Der letzte Beitrag () ist von AbsolutCF.
-
-
-
Kuck dir mal bitte den Post an den ich nachträglich editiert habe :
[VB 2010] Vernam Verschlüsselung speichernMFG 0x426c61636b4e6574776f726b426974
InOffical VB-Paradise IRC-Server
webchat.freenode.net/
Channel : ##vbparadise -
-
-
-
-
So habe es jetzt glaube ich fertig gekriegt
VB.NET-Quellcode
- Private Function verentschluesseln(ByVal orig As String, ByVal key As String) As String
- Dim ret As String = String.Empty
- For i = 0 To orig.Length - 1
- Dim o As Char = orig.Substring(i, 1)(0)
- Dim p As Char
- If key.Length - 1 > i + 1 Then p = key.Substring(i, 1)(0)
- ret &= Convert.ToChar(Convert.ToInt32(o) Xor Convert.ToInt32(p))
- Next
- Return ret
- End Function
vielleicht ist es Falsch schlagt mich nicht :pinch:MFG 0x426c61636b4e6574776f726b426974
InOffical VB-Paradise IRC-Server
webchat.freenode.net/
Channel : ##vbparadise -
-
danke nicht nötig,
Probiere das mal :
Spoiler anzeigen VB.NET-Quellcode
- Public Class Form1
- Dim sPassword As String = "PASS"
- Private Function verentschluesseln(ByVal orig As String, ByVal key As String) As String
- Dim ret As String = String.Empty
- For i = 0 To orig.Length - 1
- Dim o As Char = orig.Substring(i, 1)(0)
- Dim p As Char
- If key.Length - 1 > i + 1 Then p = key.Substring(i, 1)(0)
- ret &= Convert.ToChar(Convert.ToInt32(o) Xor Convert.ToInt32(p))
- Next
- Return ret
- End Function
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- BGW_MONAT.RunWorkerAsync()
- End Sub
- Private Sub BGW_MONAT_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BGW_MONAT.DoWork
- Dim pfad As String = "C:\MONAT.txt"
- Dim lines() As String = IO.File.ReadAllLines(pfad)
- For i = 0 To lines.Length - 1
- BGW_MONAT.ReportProgress(i, lines(i))
- Next
- End Sub
- Private Sub BGW_MONAT_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BGW_MONAT.ProgressChanged
- Dim daten As String = CStr(e.UserState)
- If daten <> String.Empty Then
- ListBox1.Items.Add(daten.Replace(" ", String.Empty))
- Zeilen_MONAT.Text = e.ProgressPercentage
- End If
- End Sub
- Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
- For i = 0 To ListBox1.Items.Count - 1
- Dim STRING_Array_PreCrypt() As String = ListBox1.Items.Item(i).ToString.Split({";"}, StringSplitOptions.RemoveEmptyEntries)
- Dim STRING_Array_Crypt As String = verentschluesseln(STRING_Array_PreCrypt(0), sPassword)
- For a = 0 To STRING_Array_PreCrypt.Length - 1
- STRING_Array_Crypt &= ";" & verentschluesseln(STRING_Array_PreCrypt(a), sPassword)
- Next
- ListBox2.Items.Add(STRING_Array_Crypt)
- Next
- End Sub
- Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
- For i = 0 To ListBox2.Items.Count - 1
- Dim STRING_Array_PreDeCrypt() As String = ListBox2.Items.Item(i).ToString.Split({";"}, StringSplitOptions.RemoveEmptyEntries)
- Dim STRING_Array_DeCrypt As String = verentschluesseln(STRING_Array_PreDeCrypt(0), sPassword)
- For a = 0 To STRING_Array_PreDeCrypt.Length - 1
- STRING_Array_DeCrypt &= ";" & verentschluesseln(STRING_Array_PreDeCrypt(a), sPassword)
- Next
- ListBox3.Items.Add(STRING_Array_DeCrypt)
- Next
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Dim sw As New IO.StreamWriter("C:\Users\Christopher\Pictures\Test.txt", False)
- For i = 0 To ListBox2.Items.Count - 1
- sw.WriteLine(ListBox2.Items.Item(i).ToString)
- Next
- sw.Close()
- End Sub
- Private Sub BGW_Laden_Crypt_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BGW_Laden_Crypt.DoWork
- Dim lines() As String = IO.File.ReadAllLines("C:\Users\Christopher\Pictures\Test.txt")
- For i = 0 To lines.Length - 1
- BGW_Laden_Crypt.ReportProgress(i, lines(i))
- Next
- End Sub
- Private Sub BGW_Laden_Crypt_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles BGW_Laden_Crypt.ProgressChanged
- Dim daten As String = CStr(e.UserState)
- ListBox2.Items.Add(daten)
- Zeilen_MONAT.Text = e.ProgressPercentage
- End Sub
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- Dim line As String() = IO.File.ReadAllLines("C:\Users\Christopher\Pictures\Test.txt")
- For i = 0 To line.Length - 1
- ListBox2.Items.Add(line(i))
- Next
- End Sub
- End Class
Schick mal die verschlüsselte Datei sonnst wird das schwer nachzuvollziehen sein
PS gibt einen Hilfreich Button (unten links bei jedem Post)MFG 0x426c61636b4e6574776f726b426974
InOffical VB-Paradise IRC-Server
webchat.freenode.net/
Channel : ##vbparadiseDieser Beitrag wurde bereits 1 mal editiert, zuletzt von „BlackNetworkBit“ ()
-
Hab mal einfach C&P gemacht um zu testen und es kommt hierbei zu folgendem Fehler:
VB.NET-Quellcode
- Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
- For i = 0 To ListBox1.Items.Count - 1
- Dim STRING_Array_PreCrypt() As String = ListBox1.Items.Item(i).ToString.Split({";"}, StringSplitOptions.RemoveEmptyEntries)
- Dim STRING_Array_Crypt As String = verentschluesseln(STRING_Array_PreCrypt(0), sPassword) ' FEHLER: Der Index war außerhalb des Arraybereichs.
- For a = 0 To STRING_Array_PreCrypt.Length - 1
- STRING_Array_Crypt &= ";" & verentschluesseln(STRING_Array_PreCrypt(a), sPassword)
- Next
- ListBox2.Items.Add(STRING_Array_Crypt)
- Next
- End Sub
Die verschlüsselte Datei muss ihc erst bearbeiten zum hochladen da diese geheime Daten enthält. Kann diese morgen hier hochladen.
Muss leider jetzt off weil meine Mum will das ich schlafen gehen soll *nerv*
Aber bis hierhin vielen Dank für Geduld und Hilfe
PS: Wo ist der Hilfreich Button ? -
ok dann warten wir auf morgen
ich glaube das es daran liegt das durch die verschlüsselung auch Newlines enstehen können die wir
dann Splitten also müsstest du das einfach ersetzen z.b in "#000#" oder sowas und vola es wird wieder ordentlich gesplittet
Unten links bei jedem post also :
Rechts Weiter,
WEITER nach rechts
Hier Drunter :D-------------------------MFG 0x426c61636b4e6574776f726b426974
InOffical VB-Paradise IRC-Server
webchat.freenode.net/
Channel : ##vbparadiseDieser Beitrag wurde bereits 2 mal editiert, zuletzt von „BlackNetworkBit“ ()
-
-
probiere mal das :
VB.NET-Quellcode
- Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
- For i = 0 To ListBox1.Items.Count - 1
- Dim STRING_Array_PreCrypt() As String = ListBox1.Items.Item(i).ToString.Split({";"}, StringSplitOptions.RemoveEmptyEntries)
- If STRING_Array_PreCrypt.Length - 1 >= 0 Then
- Dim STRING_Array_Crypt As String = verentschluesseln(STRING_Array_PreCrypt(0), sPassword) ' FEHLER: Der Index war außerhalb des Arraybereichs.
- For a = 0 To STRING_Array_PreCrypt.Length - 1
- STRING_Array_Crypt &= ";" & verentschluesseln(STRING_Array_PreCrypt(a), sPassword)
- Next
- ListBox2.Items.Add(STRING_Array_Crypt)
- End If
- Next
- End Sub
und dass :
VB.NET-Quellcode
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Using sw As New IO.StreamWriter("C:\Users\Christopher\Pictures\Test.txt", False)
- For i = 0 To ListBox2.Items.Count - 1
- If listbox2.Items.item(i).startwith(";") = False Then
- sw.WriteLine(ListBox2.Items.Item(i).ToString)
- End If
- Next
- sw.Close()
- End Using
- End Sub
MFG 0x426c61636b4e6574776f726b426974
InOffical VB-Paradise IRC-Server
webchat.freenode.net/
Channel : ##vbparadise -
Verhaut er leider auch.
Dies ist ja eine Xor Verschlüsselung soweit ich das verstehe. Hierbei entstehen ja auch Zeichen die der PC nicht als ascii anzeiden kann ( und die dann leer bleiben ) und ich meine das an solchen stellen die Zeile schon beim laden abgebrochen wird und in der nächsten Zeile fortgeführt wird.
Hab das Programm mal beim laden angehalten und bei lines.lenght kommt schon 11400 anstatt 9014.
EDIT:
Hab alles nochmal sauber in einem neuen Programm gemacht. Als passwort hab ich diesmal eine lange buchstabenkette genommen bsp: "kdsjlhkjdhgjkdfhgjkfdhgkjdghkdhgkjd" hierbei sind diesmal keine leeren Felder bei der verschlüsselung entstanden.
Ich konnte die verschlüsselten daten speichern und auch wieder ordentlich laden. Also hängt es wirklich an den Zeichen die der PC nicht darstellen kann. Aber slebst mit der langen buchstrabne kette kann ihc doch nicht 100% sicher sein das es nbiciht wirder ein leeres Zeichen geben wird, oder?Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „AbsolutCF“ ()
-
Wenn die Daten nicht unbedingt String sind, versuch's doch mal mit dem BinaryReader/-Writer
Alternativ könnte man wohl auch die Zeilen als ganzes verschlüsseln oder direkt einen CryptStream nehmen. Die verschlüsselten Werte braucht ja wahrscheinlich eh keiner (also zum Lesen oder so).Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „lordknoblauch“ ()
-
Hi
hast du den Code hier mal angeschaut?
[VB.NET] vernam verschlüsselung
aufpassen: Texte und nicht gleichverteilte Resourcen bzw. Resourcen, die in einen "semantischen Zusammenhang" einordnbar sind lassen sich bei Vernam sehr einfach entschlüsseln, wenn man über die Entropie herangeht. Bestimmte Buchstaben oder Datenfolgen kommen dann ja häufiger vor, folgen aus anderen Daten oder sind konstant. Bei groß genugen Datenmengen kommt man dann ggf. wieder auf das ursprüngliche, sofern der Schlüssel nicht mindestens so groß ist, wie der zu übertragende Datenstrom und nicht "invertierbar" (z.B. wäre über einen random number generator, wie dem in System.Security.Cryptography, sicherer - die Random-Klasse ist in der Hinsicht ungeeignet).
Gruß
~blaze~ -
Hi
Super vielen Dank für all eure Hilfe und Antworten.
Das mit der Möglichen Entschlüsselung ist mir auch aufgefallen, da aber Preise hier verschlüsselt werden kann sich der "Datendieb" nie ganz sicher sein das genau die Zahl richtig ist.
Das Speicherproblem hab ich über das verwendete Password gelöst. Da es sich nur um Zahlen handelt hab ich als Passwort nur großbuchstaben verwendet und keine Probleme mehr.
Aber um die Sicherheit zu erhöhen hab ich nun eine neue Verschlüsselungsmethode verwendet. AES Verschlüsselung.
Aber Ihr alle habt mir sehr geholfen in das Thema Verschlüsselung rein zu kommen. Vielen vielen Dank
-
Tags
-
Ähnliche Themen
-
richtextbox.text verschlüsseln
underground77 - - Sonstige Problemstellungen -
cipherwar - - Sonstige Problemstellungen
-
5 Benutzer haben hier geschrieben
- AbsolutCF (14)
- BlackNetworkBit (12)
- Pascalony (10)
- ~blaze~ (1)
- Gast (1)