Elderan
0
Hallo,
also ich wollte man einen einfachen Verschlüsselungsalgorhytmus bauen, leider treten hin und wieder Probleme auf. Jetzt habe ich die Ursache gefunden, aber hier das Prinzip des Algo.
Man hat einen Text und einen Key, die sich so "überlagern":
G a n z G e h e i m e r T e x t
K e y K e y K e y K e y K e y K
Jetzt werden die ASCII-Werte von den Buchstaben ermittelt, also G wird zu 71 und K zu 75. Diese beiden Werte werden jetzt Addiert (ergeben 146) und dann wieder in ein ASCII Zeichen umgewandelt, hier wäre es: '
Umgekehrt läuft es dann genauso ab, bloß der die Key Werte vom Textabgezogen werden.
Verschlüsselt sieht das ganz dann so aus: ??çzk??h°Î?e??Íe??
Das ist ink. Leerschritte
So mein Problem ist jetzt:
Das Leerzeichen hat den Wert 32 sowie 160. Wenn jetzt bei der Addition 160 rauskommt, steht dort ein Leerzeichen. Wenn ich das dann entschlüsseln möchte, denkt das Programm dann, es hätte den Wert 32 (für Leerzeichen). Die Key Zahl wird dann von der 32 abgezogen und man erhält ein ganz anderes Zeichen, als das was man verschlüsselt hat, denn am Anfang hat das Programm z.B. 110
+ 50 (2) = 160 gerechnet, und beim Entschlüssel rechnet es dann: 32 - 50 (2)=..).
Dies ist natürlich ärgerlich.
Kennt jemand eine Lösung? Also es würde mit Trennzeichen +Zahlen gehen, also ca. so:
100|160|80|90|170|160
Aber das sieht nicht besonders schön aus, kennt ihr evt. noch eine andere Lösung?
also ich wollte man einen einfachen Verschlüsselungsalgorhytmus bauen, leider treten hin und wieder Probleme auf. Jetzt habe ich die Ursache gefunden, aber hier das Prinzip des Algo.
Man hat einen Text und einen Key, die sich so "überlagern":
G a n z G e h e i m e r T e x t
K e y K e y K e y K e y K e y K
Jetzt werden die ASCII-Werte von den Buchstaben ermittelt, also G wird zu 71 und K zu 75. Diese beiden Werte werden jetzt Addiert (ergeben 146) und dann wieder in ein ASCII Zeichen umgewandelt, hier wäre es: '
Umgekehrt läuft es dann genauso ab, bloß der die Key Werte vom Textabgezogen werden.
Verschlüsselt sieht das ganz dann so aus: ??çzk??h°Î?e??Íe??
Das ist ink. Leerschritte
So mein Problem ist jetzt:
Das Leerzeichen hat den Wert 32 sowie 160. Wenn jetzt bei der Addition 160 rauskommt, steht dort ein Leerzeichen. Wenn ich das dann entschlüsseln möchte, denkt das Programm dann, es hätte den Wert 32 (für Leerzeichen). Die Key Zahl wird dann von der 32 abgezogen und man erhält ein ganz anderes Zeichen, als das was man verschlüsselt hat, denn am Anfang hat das Programm z.B. 110
Dies ist natürlich ärgerlich.
Kennt jemand eine Lösung? Also es würde mit Trennzeichen +Zahlen gehen, also ca. so:
100|160|80|90|170|160
Aber das sieht nicht besonders schön aus, kennt ihr evt. noch eine andere Lösung?