No title Revision 643235663133 (Fri Oct 02 2009 at 14:19) - Diff Link to this snippet: https://friendpaste.com/5CjMjlY8mk9rpWh252tR7Z Embed: manni perldoc borland colorful default murphy trac fruity autumn bw emacs pastie friendly Show line numbers Wrap lines 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149package AffCh;import java.util.*;public class BruteForce { ArrayList<String> ergebnisse = new ArrayList(); Data daten = new Data(); public BruteForce(String userEingabe) { int[] cryp = convertString(userEingabe); int[] decryp = new int[cryp.length]; // itteration über die inversen for (int i = 0; i < daten.inverse.length; i++) { // itteration über die möglichen additionen for (int j = 0; j < daten.addition.length; j++) { System.out.println("Das aktuelle Schlüsselpaar ist:" + " " + "(" + daten.inverse[i] + "," + daten.addition[j] + ")"); // entschüsseln jedes characters for (int j2 = 0; j2 < cryp.length; j2++) { decryp[j2] = decrypeChar(cryp[j2], daten.inverse[i], daten.addition[j], daten.modulo); } //Ergebnisstring in eine Liste schreiben ergebnisse.add(convertInt(decryp)); }// ende additionen }// ende inversen }/* *Die Funktion zum Dechiffrieren */ public int decrypeChar(int buchstabe, int inverse, int addition, int modulo) { int ergebnis = (inverse * (buchstabe - addition)) % modulo; return ergebnis; }/* *String in seine Kodierungswerte übersetzen */ public int[] convertString(String eingabe) { int[] convertToInt = new int[eingabe.length()]; if (eingabe != null) { for (int i = 0; i < eingabe.length(); i++) { switch (eingabe.charAt(i)) { case 'a': convertToInt[i] = 0; break; case 'b': convertToInt[i] = 1; break; //Auf grund der lesefreundlichkeit, fehlen die restlichen buchstaben case 'z': convertToInt[i] = 25; break; case ' ': convertToInt[i] = 26; break; default: System.err.println("Kein Gültiger CHARACTER!!!"); break; } } } else { System.err.println("Noch kein String eingegeben!!!"); } return convertToInt; }/* *Integerwerte zu einem KlartextString zusammenbasteln */ public String convertInt(int[] a) { String ergebniss = null; for (int j = 0; j < a.length; j++) { switch (a[j]) { case 0: ergebniss += 'a'; break; case 1: ergebniss += 'b'; break;//Auf grund der lesefreundlichkeit, fehlen die restlichen buchstaben case 25: ergebniss += 'z'; break; case 26: ergebniss += ' '; break; default: System.err.println("Keine Gültige ZAHL!!!"); break; } } return ergebniss; }}