Token System VB.NET

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Radinator.

    Token System VB.NET

    Schönen guten Abend :)

    ​ich habe folgendes Vorhaben: Ich möchte bestimmte Zeichenfolgen in andere Zeichenfolgen umwandeln und genau das gleich wieder in die andere Richtung.

    ​Anwendung:
    ​ich habe folgendes: HalloMeinNameIstKurt

    ich möchte nun HalloMeinNameIstKurt​ in einen token übersetzen. -> z.b. doiuhaslkjdbnuioqlwubnkead (habe hier die Wortlänge nicht beachtet)

    ​Ich möchte im Endeffekt für ein paar Zahlen, Zeichen und Buchstaben -> andere Buchstaben verwenden.

    ​Mein Ziel: Ich habe benutzername+altereinerperson und möchte dies in einen token wandeln. Dann möchte ich einen Token converter machen, der den Token wieder in die Ausgangsform (benutzername+altereinerperson) zurückverwandelt.

    Ich möchte z.B. a zu g wird und 1 zu y usw. das bracuh ich für die am meisten benutzten Tasten
    MFG
    Ich verstehe den Sinn dahinter nicht so ganz. Wenn du etwas verschlüsseln willst das auch hinterher wieder decodiert werden kann benutzt du am besten AES.
    Das hat aber mit einem Token nicht viel zu tun.

    Ein Token wiederum ist ein Hashwert. Also eine Einwegverschlüsselung. Man kann den eingegeben Text ver- aber nicht wieder entschlüsseln. Mit diesem System schützt man z.B. Benutzername und Passwörter in Datenbanken.

    In der Datenbank steht nur der Token. Gibt der Benutzer seinen Benutzernamen und sein Passwort ein, dann wird aus den eingegebenen Daten wieder ein Token erstellt und mit dem in der Datenbank verglichen. Sind die beiden Identisch waren die eingaben Korrekt.

    Wenn es das letztere ist was du sucht solltest du dir evtl. mal SHA oder MD5 ansehen.

    Cell schrieb:

    Einwegverschlüsselung
    https://www.youtube.com/watch?v=xoMgnJDXd3k
    Verschlüsselung ist nicht gleich Hashen! Verschlüsselung ist umkehrbar, Hashen nicht. Höchsten Kollisionsunsicher. Auch wenn die Intention hinter der Aussage klar ist, bitte ich dich doch auf die Wortwahl zu achten :D

    Cell schrieb:

    MD5
    Bitte kein MD5. Der Standart ist uralt und bereits als unsicher gekennzeichnet, da eine hohe Kollisionswarscheinlichkeit besteht.


    Lg Radinator
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    ​Verschlüsselung ist nicht gleich Hashen! Verschlüsselung ist umkehrbar, Hashen nicht. Höchsten Kollisionsunsicher. Auch wenn die Intention hinter der Aussage klar ist, bitte ich dich doch auf die Wortwahl zu achten


    Du hast natürlich vollkommen recht. Hashen ist nicht gleich Verschlüsseln. Ich habe lediglich versucht der besseren Verständlichkeit wegen einen Vergleich zu ziehen. Dennoch ist der Begriff Einwegverschlüsselung natürlich Falsch.

    ​Bitte kein MD5. Der Standart ist uralt und bereits als unsicher gekennzeichnet, da eine hohe Kollisionswarscheinlichkeit besteht


    Auch da hast du recht. Bei MD5 sind Kollisionen möglich und auch wissenschaftlich nachgewiesen. Dennoch denke ich, das es hier sehr stark auf das Einsatzgebiet ankommt ob eine solche Kollision problematisch werden könnte. In dem Fall müsste man auch von SHA1 Abstand nehmen da es zumindest Theoretisch genau so anfällig für Kollisionen sein müsste.

    Will man das von vornherein vermeiden empfiehlt sich derzeit SHA2. Der SHA3 Standart ist derzeit noch zu wenig erforscht.
    So iwie check ich das nicht xD

    Ich habe folgenden Code

    VB.NET-Quellcode

    1. Private Sub btnEncrypt_Click(sender As Object, e As EventArgs) Handles btnEncrypt.Click
    2. Dim encrypt As String = ""
    3. Dim letter As Char
    4. Dim i, charsInFile As Short
    5. Try
    6. charsInFile = txtNote.Text.Length
    7. For i = 0 To charsInFile - 1
    8. letter = txtNote.Text.Substring(i, 1)
    9. encrypt = encrypt & Chr(Asc(letter) + 1)
    10. Next
    11. txtNote.Text = encrypt
    12. txtNote.Select(0, 0)
    13. Catch ex As Exception
    14. MsgBox(ex.Message, MsgBoxStyle.Information, "Error")
    15. End Try
    16. End Sub


    txtNote = RichTextBox

    und:

    VB.NET-Quellcode

    1. Private Sub btnDecrypt_Click(sender As Object, e As EventArgs) Handles btnDecrypt.Click
    2. Dim allText As String = ""
    3. Dim decrypt As String = ""
    4. Dim i, charsInFile As Short
    5. Dim letter As Char
    6. For i = 0 To charsInFile - 1
    7. letter = allText.Substring(i, 1)
    8. decrypt = decrypt & Chr(Asc(letter) - 1)
    9. Next
    10. txtNote.Text = decrypt
    11. txtNote.Select(0, 0)
    12. End Sub


    Das Programm encrypted auch super wenn ich auf encrypt klicke. Wenn ich allerdings den encrypted Code mit dem decrypt button wieder decrypten will, dann wird einfach nur alles aus txtNote gelöscht :O

    Cell schrieb:

    stark auf das Einsatzgebiet ankommt
    Wollte ich eigentlich noch dazu schreiben...habs aber dann doch vergessen ;D

    ~blaze~ schrieb:

    Übrigens heißt es "Standard".
    Danke!

    DaWeed032 schrieb:

    Dim i, charsInFile As Short

    DaWeed032 schrieb:

    For i = 0 To charsInFile - 1
    Merkst du was? (kleiner Tipp: Schau mal, welchen Wert charsInFile zwischen Deklaration und der Schleife hat)

    Lg Radinator


    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell