byte für byte datenverschlüsselung

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von sandroid.

    byte für byte datenverschlüsselung

    hallo vb community
    habe eine frage, ob mein vorhaben im bereich des machbaren liegt oder nicht... ich weiss, wie man eine datei verschlüsseln kann, indem man den wert für jedes byte einfach erhöht zb (mit readbyte und writebyte). übrigt bleibt eine unlesbare datei. jetzt die frage: kann ich jedes byte um verschiedene werte erhöhen? das heisst, ich gebe zb ein 10-stellige nummer ein, zb 3456789123 - somit wird das erste byte um den wert 3 erhöht, das zweite um den wert 4, das dritte um den wert 5, und so weiter. um die datei dann wieder zu lesen, muss man das entsprechende passwort wieder eingeben und das ganze läuft rückwärts.
    wie stelle ich das an, dass beim verschlüsseln byte für byte um einen anderen wert verändert wird?
    bin gespannt, was da rauskommt =) herzlichen dank schon mal fürs durchlesen!
    greez, sandro
    @sandroid:: Nimm statt einer Datei zunächst ein kleines Byte-Array. Und verfolge Deinen Algorithmus parallel mit Zettel, Stift und Taschenrechner.
    Hin und zurück.
    Da bist Du in 15 Minuten fertig. :D
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Nimm dir ne List(of Schlüsseldaten) wobei Schlüsseldaten aus einem int und einem Bool besteht. Des Weiteren zwei Random und ein Bytearray das i-was beinhaltet (ASCII Werte eines Textes z.B.)
    Nun gehst du mit ner ForEach- schleife durch das ByteArray, generierst mit 2 Randoms (das erste geht von 1 bis was auch immer du willst, das andere hat nur 0 und 1) 2 Zahlen und trägst diese in die Instanz von Schlüsseldaten ein (0 => false => Links, 1 => true => Rechts). Dieses fügst du dann der Liste hinzu. Gleichzeitig verschiebst du den Wert des Bytearrays an der Position um den Wert des ersten Randoms in die Richtung des Zweiten Randoms. Und siehe da, du hast eine sehr einfache Verschlüsselung, und kannst dir ausgeben lassen, wann wo wie weit verschoben wurde. Zur Umkehrung, gehst du die Liste wieder durch, nur ist nun 0 => true => Rechts und 1 => false => Links.

    Nun gieße dass in Code^^