HTTPSecurityLibrary

    • Release

    Es gibt 50 Antworten in diesem Thema. Der letzte Beitrag () ist von Pinki.

      Wieso brauchste mich da in der Freundesliste?
      Also ich kenne mich nicht besonders gut in Verschlüsselungen aus, deswegen habe ich mir ein relativ einfaches System ausgedacht, hier mal ein Beispiel.:

      VB.NET-Quellcode

      1. Dim sKey As String = MD5(Deffie-Hellman Schlüssel)
      2. Dim sText As String = "Diese Text soll mit dem eigenen Verfahren verschlüsselt werden"
      3. Dim iCount As Integer = 0
      4. Dim sb As New StringBuilder
      5. For Each sChar As Char in sText
      6. sb.Append(Asc(sChar) Xor Asc(sKey.Substring(iCount, 1)) & " ")
      7. iCount += 1
      8. If iCount >= sKey.Length Then iCount = 0
      9. Next


      Also eine Schleife geht durch den gesamten Text und holt jeden Buchstaben heraus, dieser Buchstabe wird in sein Ascii Code umgewandelt und mit Xor dem Ascii Code eines Buchstaben aus dem Key verknüpft.
      Dann wird der Key Buchstaben Counter um 1 erhöht und somit läuft der Key solange druch bis zum ende des Textes.
      Als Rückgabe des Xor bekommt man eine Zahl.

      Das Entschlüsseln funktioniert nach dem selben Prinzip

      VB.NET-Quellcode

      1. Dim sKey As String = MD5(Deffie-Hellman Schlüssel)
      2. Dim sText As String = "43 123 23 7 32 48 174 153"
      3. Dim aText As String() = sText.Split(" "c)
      4. Dim iCount As integer = 0
      5. Dim sb As New Stringbuilder
      6. For Each sNum as String In aText
      7. sb.Append(CInt(sNum) Xor Asc(sKey.Substring(iCount, 1)))
      8. iCount += 1
      9. If iCount >= sKey.Length Then iCount = 0
      10. Next
      Danke für die kurze Hilfe.

      Ich hab folgenden Text


      OTkgMjMgNiAxNyAyOCAyIDIxIDU0IDEyNCAxMjEgMTE1IDExNSA5OCA2NSAxOSA2NiAzOSA1NSA0MyA0NiAyMyA4MCA2NSA3MiA2OCAxMDUgMTYgNjggMyAxNyA4MSAxNiAxMjUgNDggMzkgMzggNTUgMjQgMTE5IDYwIDI1IDg1IDk1IDg0IDg2IDY1IDEyMCA0OSAzNCA1MSAxIDE3IDY4IDg5IDkzIDk1IDEzIDIyIDg0IDI1IDg2


      diesen entschlüssel ich dann mit dem 2. Beispiel, aber er bringt eine Fehlermeldung.


      Ungültige Konvertierung von der Zeichenfolge OTkgMjMgNiAxNyAyOCAyIDIxIDU0IDEy in Typ Integer.


      Eigentlich solle es nach Leerzeichen splitten, abes es sind keine vorhanden
      Hast du mit der ersten Methode verschlüsselt? Eigentlich sollten dann Zahlen rauskommen die durch Leerzeichen getrennt sind.

      Edit: Habe ma schnell nen Projekt gemacht und getestet, der Code vorher war ausm Kopf geschrieben habe 2 kleine Fehler eingebaut, hier ist der Code der funktioniert.

      - 1 Form
      - 3 Textboxen
      - 2 Buttons

      VB.NET-Quellcode

      1. Public Class Form1
      2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      3. Dim sKey As String = TextBox1.Text
      4. Dim sText As String = TextBox2.Text
      5. Dim iCount As Integer = 0
      6. Dim sb As New System.Text.StringBuilder()
      7. For Each sChar As Char In sText
      8. sb.Append((Asc(sChar) Xor Asc(sKey.Substring(iCount, 1))).ToString() & " ")
      9. iCount += 1
      10. If iCount >= sKey.Length Then iCount = 0
      11. Next
      12. TextBox3.Text = sb.ToString().Trim()
      13. End Sub
      14. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
      15. Dim sKey As String = TextBox1.Text
      16. Dim sText As String = TextBox2.Text
      17. Dim aText As String() = sText.Split(" "c)
      18. Dim iCount As Integer = 0
      19. Dim sb As New System.Text.StringBuilder()
      20. For Each sNum As String In aText
      21. sb.Append(Chr(CInt(sNum) Xor Asc(sKey.Substring(iCount, 1))))
      22. iCount += 1
      23. If iCount >= sKey.Length Then iCount = 0
      24. Next
      25. TextBox3.Text = sb.ToString()
      26. End Sub
      27. End Class

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Dodo“ ()

      Nein, die eine Funktion is das Verschlüsseln und die zweite Funktion das Endschlüsseln.

      In meiner Lib habe ich jedoch das Ergebnis, also die einzelnen Zahlen nochmals mit base64 decodiert. Damit man nicht sofort sieht das es sich um Zahlen handelt.

      Also der ablauf ist dann

      Text => XOR Verknüpfung mit dem Key => Base64 Decode => Ausgabe des verschlüsselten Textes
      wie meinst du das? Ohne eine Overflow Exception? Nun ich rechne nicht mit Potenz sondern auch mit Xor *g*

      Server:
      p = 43656
      g = 3275
      a = 7264

      A = (g Xor a) Mod p = (3275 Xor 7264) Mod 43656 = 4257 Mod 43656 = 4267

      Client:
      b = 19432

      B = (3275 Xor 19432) Mod 43656 = 18211 Mod 43656 = 18211

      K1 = (B Xor a) Mod p = (18211 Xor 7264) Mod 43656 = 23363
      K2 = (A Xor b) Mod p = (4267 Xor 19432) Mod 43656 = 23363

      Da mit potenzen zu große Zahlen zustande kommen und das PHP Script früher abschmiert als VB.
      Doch als Man-In-The-Middle...aber das muss man auch erstmal hinbekommen, und man muss es vor dem Schlüsselaustausch machen...
      Oder natürlich per BruteForce...
      Ich wollte auch mal ne total überflüssige Signatur:
      ---Leer---
      Die öffentlichen Zahlen kann man abfrangen, jedoch nützen diese keinem etwas, weil der geheime Key NUR mit den nicht öffentlichen Zahlen des Server und Client gebildet werden kann.

      Einizge Schwachstelle ist der sog. Man in the Middle, heißt wenn sich jemand zwischen deine Verbindung klemmt.
      Da könntest auch gleich die OpenMySqlLib von mir nehmen ^^ da ist bereits beides in einer Lib kombiniert =)

      und super sicher isses nicht, nur nicht das jeder noob in der SqlDB rumpfuschen kann und vorallem niemand mitsniffen kann.
      öhm...Dodo...sag mal bitte, warum tut das so sein:

      Ungültige Konvertierung von der Zeichenfolge � %�A
      �0 E����D(��l 9�WH in Typ Long.
      Beim .Create(adresse, PostCollection)

      Mein Aufbau:

      VB.NET-Quellcode

      1. Dim reg As new HTTPSecurityRequest
      2. Dim query As new PostCollection
      3. query.add("name", variable)
      4. query.add("punkte", variable)
      5. query.add("version", variable)
      6. dim htmlSource As String = reg.Create(adresse, query)


      Ausserdem solltest du vllt. den Obfuscator wechseln:
      ?27? As String
      ?28? As HTTPSecurityLib.PostCollection

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „AliveDevil“ ()