Zum Inhalt springen

benedict

Mitglieder
  • Gesamte Inhalte

    5
  • Benutzer seit

  • Letzter Besuch

  1. die beiden zeilen bekomme ich auch raus. Das problem ist nur, dass das ergebnis nicht mit dem übereinstimmt mit dem was aus anderen programmen rauskommt. Da sollte so etwas ähnliches wie "_)g1" rauskommen.
  2. so hab mich noch mal dran gesetzt und bin jetzt scheinbar ein wenig weiter. Habe ein paar Dinge geändert wie man unschwer erkennen kann. leider klappt es immer noch nicht richtig. vielleicht habt ihr ja eine idee woran es liegen könnte. public class RC4 { public static StringBuffer Verschluesseln(StringBuffer klar, StringBuffer key){ short[] Sbox = new short[256]; short[] Sbox2 = new short[256]; char temp; short k, ver; int j = 0; for (short i = 0; i <= 255; i++){ Sbox[i] = i; } if (key.length() > 0){ for(int i = 0; i <= 255; i++){ if(j == key.length()){ j = 0; } Sbox2[i] = (short)key.charAt(j++); } } for (short i = 0; i <= 255; i++){ j = (j + Sbox[i] + Sbox2[i])%256; temp = (char)Sbox[i]; Sbox[i] = Sbox[j]; Sbox[j] = (short)temp; } int i,t; i = j = 0; for (short x = 0; x<=klar.length()-1;x++){ //Inkrement von i i = (i+1)%256; //Inkrement von j j = (j + Sbox[i]) % 256; temp = (char)Sbox[i]; Sbox[i] = Sbox[j] ; Sbox[j] = (short)temp; t = ( Sbox[i] + Sbox[j]) % 256 ; k = Sbox[t]; ver = (short)(Sbox[x]^k); klar.setCharAt(x, (char)(klar.charAt(x) ^ k)); } return klar; } public static void main(String[] args) { StringBuffer klarText = new StringBuffer("TEST"); StringBuffer keyText = new StringBuffer("key"); System.out.println(Verschluesseln(klarText, keyText)); StringBuffer lsg = new StringBuffer(Verschluesseln(klarText, keyText)); System.out.println(Verschluesseln(lsg,keyText)); } } Schon mal danke für eure Hilfe!!!
  3. Danke für die schnellen Antworten. Das Problem mit dem Laufzeitfehler wäre soweit behoben. Um aus dem byte Array wieder einen Text zusammen zu setzen muss ich das ganze ja wieder als integer konvertieren und dann als char wieder ausgeben. Problem ist jetzt das es negative Zahlen gibt. Das hängt wohl mit dem Zahlenkreis zusammen. Aber wie bekomme ich jetzt den richtigen ASCII Code??? Viele Grüße Benedict
  4. Hallo zusammen! ich bin neu hier und bin ganz angentan von dem Forum. Jetzt hab ich ein Problem und zwar schreibe ich meine Facharbeit in Informatik über WLAN (WEP, WPA, WPA2). Dafür habe ich mir vorgenommen den RC4 Algorithmus in Java zu implementieren. Leider habe ich jetzt einen Laufzeitfehler (ArrayIndexOutOfBounds in Zeile 41) und ich weiß nicht wo der Fehler in der Implementierung liegt. Ich wäre euch sehr dankbar wenn ihr den Fehler findet /** * * Beschreibung * Implementierung des RC4-Algorithmus * * @version 1.0 vom 02.02.2009 * Benedict */ public class RC4 { public static byte[] RC4 (byte[] klar, byte[] key){ byte S[] = new byte[256]; byte[] temp = new byte[1]; byte[] zufallsZeichen = new byte[1]; byte[] index = new byte[1]; Integer z; Integer i = 0; int j = 0; for (i = 0; i<=255;i++){ S[i] = i.byteValue(); } for ( i = 0; i<= 255; i++){ j = ((j + S[i] + key[i%key.length])%256); temp[0] = S[i]; S[i] = S[j]; S[j] = temp[0]; } i = j = 0; for(int x = 0; x <=klar.length; x++){ i = (i + 1)%256 ; j = (S[i] + j)%256; temp[0] = S[i]; S[i] = S[j]; S[j] = temp[0]; z = ((S[i] + S[j])%256); zufallsZeichen[0]= z.byteValue(); index[0] = i.byteValue(); char k = (char)S[z]; S[x]=(byte)(k^index[0]); } return S; } public static void main(String[] args) { String code = ""; String klar = "Hallo"; String key = "Test"; byte[] klartext = new byte[256]; byte[] keytext = new byte[256]; byte[] str = new byte[256]; keytext = key.getBytes(); klartext = klar.getBytes(); str = RC4(klartext,keytext); for (int q = 0; q<str.length;q++){ int ascii = str[q]; System.out.println(ascii); char zeichen = (char)ascii; code = code + zeichen; } System.out.println(code); } } Viele Grüße und schon ein Mal Danke Benedict

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...