HI
Naja, der 1. Tipp ist eh klar, und der 2. sagt lediglich, dass 1 Zeichen = 1Byte ist, also 0xYY = 1 Zeichen im Orginaltext.
Richtig?
VLG Tobi
Den Algorithmus hab ich mir selbst ausgedacht, => Richtig, er ist es nicht
HI
Naja, der 1. Tipp ist eh klar, und der 2. sagt lediglich, dass 1 Zeichen = 1Byte ist, also 0xYY = 1 Zeichen im Orginaltext.
Richtig?
VLG Tobi
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
Nein, das 0xYY is nur die Hexadezimale Darstellung eines Bytes, aber der zweite Tipp bedeutet gleube ich das die Datenmenge nach der Verschlüsselung (also die in der Datei) doppelt so groß ist.
mfG
Ja, das meinte ich. Die Datenmenge wird verdoppelt.
MfG
Tipp 3, wobei ich denke dass es damit schon fast gelöst ist:
Code:Aus einem Zeichen werden jeweils zwei gemacht. Aus den zwei Bytes lässt sich das vorherige Byte errechnen
Hier das entschlüsselnde Java-Programm:Code:Joah, das ist dann wohl der decodierte Text. Herzlichen Glückwunsch! MfG Dennis Strehl
Code:package rn; public class Hex { public static void main(String[] args) { String hex = "0x14 0xca 0xf0 0x81 0xdd 0x7c 0xfb 0x93 0x81 0x55 " +"0x93 0x73 0x44 0xe0 0xb0 0x4f 0x93 0x20 0x8f 0x6f " +"0xb9 0x50 0x63 0xf0 0x17 0xa3 0xac 0x8c 0x67 0x03 " +"0xb0 0x4f 0x43 0xd5 0xd0 0x62 0xd2 0xb2 0x3b 0xc4 " +"0x9d 0x2e 0x72 0x0a 0x00 0x94 0x45 0x25 0x0b 0xa7 " +"0x81 0x1c 0xd4 0x62 0xed 0xcd 0x1c 0xb8 0x14 0xaf " +"0xb6 0x53 0x01 0x92 0xbc 0x58 0xc5 0x5c 0x85 0x20 " +"0x3e 0xcc 0x73 0xff 0x9f 0x3a 0x20 0x00 0xa8 0x54 " +"0x0b 0xa6 0x59 0xe1 0x20 0xac 0xaf 0x81 0xd1 0xc4 " +"0x74 0x6a 0x68 0x5b 0x36 0x2c 0x9a 0x52 0xd2 0x6d " +"0x38 0xc6 0x26 0xac 0x34 0xc8 0x6a 0x01 0x87 0x24 " +"0x42 0xda 0x82 0x1d 0x2d 0xbf 0x4e 0x2e 0x55 0x0e " +"0x35 0xc9 0xba 0xbe 0x7e 0x1b 0x89 0x1e 0x3c 0xc5 " +"0x0b 0x96 0x12 0xa4 0xd8 0x65 0xec 0x89 0xc8 0x60 " +"0x21 0x00 0xc6 0xb9 0x16 0x0c 0xc1 0xb4 0xf2 0xe8 " +"0xbf 0x72 0x2c 0xc6 0xf0 0xa9 0xa0 0x93 0x73 0x69 " +"0xbd 0xb0 0xe2 0xd8 0xfd 0xb9 0x5a 0xf5 0xb0 0x42 " +"0xc6 0x58 0xfd 0x94 0x62 0xef 0x93 0x73 0x14 0xc1 " +"0x4d 0xd9 0x20 0xae 0x20 0xbb 0x95 0x2d 0x2f 0xc3"; String[] values = hex.split(" "); for (int i=0; i<values.length; i+=2) { int x = Integer.parseInt(values[i].replace("0x", ""), 16) - Integer.parseInt(values[i+1].replace("0x", ""), 16); System.out.print((char)Integer.parseInt(Integer.toHexString(x).replace("ffffff", ""), 16)); } } }
Unwissenheit ist ein Segen
Sehr schön
Die Codierung ist nix besonderes, nur man muss halt drauf kommen.
Die Codierung läuft wie folgt: Es wird für jedes Zeichen ein Zufallswert zwischen 0 und 255 erzeugt, der wird zum jeweiligen Zeichen addiert und beide Werte werden nacheinander ausgegeben. Das wird für jedes Zeichen gemacht, und so hat man nachher doppelt so viele Zeichen wie vorher.
Das Decodieren geht dann, indem man den Zufallswert einfach wieder vom codierten Wert abzieht. Wenn man das Programm hat, geht das dann verdammt schnell.
Ich glaube, für die nächste Stufe mach ich irgendwie was mit md5. Das bekommt ihr nie hin :-P
Thread kann geschlossen werden.
mfG
Lesezeichen