Wie differenziere ich mehrer Wörter aus einer Textarea in ein String-Array
Hallo Leute,
ich schreibe gerade ein Programm für die Schule, eine Zusatzaufgabe die bisher niemand geschafft hat. Wir haben ein Verschlüsseltes Wort, wo wir den Schlüssel nicht kennen. Nun sollen wir es knacken. Mein Ansatz ist es, die Länge (19 Buchstaben zu nehmen, und mit anderen deutsche Wörter mit 19 Buchstaben zu vergleichen. Also z.B der Buchstabe an der 1. Stellle ist der Selbe wie der an der 5. Stelle oder so.
Nun habe ich ein kleines Programm geschrieben, da ich die 4958 Wörter nicht von Hand vergleichen wollte ;) Nun meien Frage, wie schaffe ich es, dass ich in meine Textarea alle 4958 Wörter packen kann und sie dann einzeln in ein String Array speichern kann ? Getrennt sind sie mit einem Zeilenumbruch ("\n"), kann man diesen evt. nutzenm um sie zu differenzieren ?
LG
Jones97
AW: Wie differenziere ich mehrer Wörter aus einer Textarea in ein String-Array
Was genau weißt du denn über die Verschlüsselung? Habe ich das richtig verstanden, dass die Verschlüsselung nur die Buchstaben vertauscht, oder wie kommst du darauf, dass dein entschlüsseltes Wort auch aus 19 Zeichen besteht? Vielleicht kannst du mal die Textaufgabe hier posten.
AW: Wie differenziere ich mehrer Wörter aus einer Textarea in ein String-Array
Jones benutz doch mal google bevor du free-hack einen riesigen OT Thread bescherst..
Cryptool erfüllt alle deine wünsche solange du es nicht selber schreiben musst.
AW: Wie differenziere ich mehrer Wörter aus einer Textarea in ein String-Array
Zitat:
Zitat von
Death~
Was genau weißt du denn über die Verschlüsselung? Habe ich das richtig verstanden, dass die Verschlüsselung nur die Buchstaben vertauscht, oder wie kommst du darauf, dass dein entschlüsseltes Wort auch aus 19 Zeichen besteht? Vielleicht kannst du mal die Textaufgabe hier posten.
Ich weiß die Art der Verschlüsselung ( Verschlüsselung mit Schlüsselwort, so lautet die Überschrift)
Hier wäre der Schlüssel Führerschein:
Klar |
a |
b |
c |
d |
e |
f |
g |
h |
i |
j |
k |
l |
m |
n |
o |
p |
q |
r |
s |
t |
u |
v |
w |
x |
y |
z |
Geheim |
F |
U |
E |
H |
R |
S |
C |
I |
N |
Z |
Y |
X |
W |
V |
T |
Q |
P |
O |
M |
L |
K |
J |
G |
D |
B |
A |
Das hier ist die Aufgabe:
Aufgabe 2 (Zusatz): Entschlüssele den Geheimtext YDHJIXZVHXKMDSDUBMH.
Ich habe hier aber den Schlüssel nicht.
Aber ich weiß dass das Wort monoalphabetisch verschlüsselt wurde.
Prinzipiel muss ich mein Programm nur noch dahingehend programmieren, das die Wörter einzeln eingelesen werden.
---------- Post added at 13:35 ---------- Previous post was at 13:34 ----------
Zitat:
Zitat von
WD40
Jones benutz doch mal google bevor du free-hack einen riesigen OT Thread bescherst..
Cryptool erfüllt alle deine wünsche solange du es nicht selber schreiben musst.
Der Lehrer will unserern Lösungsweg sehen und wir sollen keine Vorgefertigten Lösungen nutzen...
AW: Wie differenziere ich mehrer Wörter aus einer Textarea in ein String-Array
Also am Einlesen in einen String Array soll es nicht scheitern:
Code:
String deinArray[] = deineWoerter.split("\\r?\\n");
Edit: Ups, habe vergessen dass du eine Wordlist hast, ich zeig dir gleich meinen Ansatz
AW: Wie differenziere ich mehrer Wörter aus einer Textarea in ein String-Array
Zitat:
Zitat von
Death~
Also am Einlesen in einen String Array soll es nicht scheitern:
Code:
String deinArray[] = deineWoerter.split("\\r?\\n");
Edit: Ups, habe vergessen dass du eine Wordlist hast, ich zeig dir gleich meinen Ansatz
Hier mein Code der für das einlesen zuständig ist:
Code:
String str = txaMoeglich.getText();
String[] strArray = new String[] {str} ;
Wie muss ich diesen jetzt verändern ?
AW: Wie differenziere ich mehrer Wörter aus einer Textarea in ein String-Array
Code:
String strArray[] = str.split("\\r?\\n");
Zum Entschlüsseln:
Ich würde mir erstmal eine Funktion schreiben, die ein Muster basierend auf den Buchstabenvorkommen erstellt und dann mit den Mustern der möglichen Wörter abgleicht. So kannst du das Ganze zumindest einschränken. Wörter, die in ihrer Wortlänge von der des verschlüsselten Wortes abweichen, kannst du natürlich vorher rausfiltern.
Beispiel anhand deiner Führerschein-Verschlüsselung:
Verschlüsseltes Wort sei: IFXXT
Muster: 1-2-3-3-4
Wordlist:
TEST
HALLO
DEATH
ABCAB
Ablauf:
TEST fliegt raus, da Wortlänge nicht 5.
Muster zu HALLO: 1-2-3-3-4
Muster zu DEATH: 1-2-3-4-5
Muster zu ABCAB: 1-2-3-1-2
Übereinstimmung des Musters bei HALLO
AW: Wie differenziere ich mehrer Wörter aus einer Textarea in ein String-Array
Werter Herr Death~,
ich bin zutiefst enttäuscht von eurer Kurzsichtig. Es wurde doch weder vernünftig das Verschlüsselungsverfahren beschrieben, noch hinreichend viel Information gegeben. Nach aktuellem Kenntnisstand könnte es sich bei der Verschlüsselung um einen One-time pad, bei dem Lehrer um einen Troll und diesem Unterfangen um Zeitverschwendung handeln.
(Abgesehen davon: wer hat behauptet, dass es sich bei dem Klartext um ein deutsches Wort handeln soll?)
Faceplam'end
blackberry
AW: Wie differenziere ich mehrer Wörter aus einer Textarea in ein String-Array
Zitat:
Zitat von
Jones97
Ich weiß die Art der Verschlüsselung ( Verschlüsselung mit Schlüsselwort, so lautet die Überschrift)
[...]
Aber ich weiß dass das Wort monoalphabetisch verschlüsselt wurde.
Zusammen mit dem Führerschein-Beispiel aus Aufgabe 2 und der Tatsache, dass es sich hier um eine Zusatzaufgabe zu Aufgabe 2 handelt, fand ich die Annahme berechtigt, dass es sich um die gleiche Verschlüsselung mit anderem, unbekannten Schlüssel handelt. Aber deine Theorie finde ich auch sehr spannend.
War der geklammerte Satz an mich gerichtet, Herr Schwarzbeere? Verstehe nicht ganz, was Sie meinen.
AW: Wie differenziere ich mehrer Wörter aus einer Textarea in ein String-Array
Der geklammerte Satz richtet sich an Jones97. Was die Verschlüsselung angeht:
1) Ich werde aus dem gegebenen Beispiel nicht wirklich schlauer. Der Schlüssel, oder was auch immer scheint übrigens "Fuehrerschein" und nicht "Führerschein" zu sein, aber selbst dann ist mir nicht klar, wie man den Ciphertext aus Schlüssel und Klartext zu bestimmen hätte.
2) Aus informationstheoretischer Sicht muss mir das auch gar nicht klar sein. Alles was mir gegeben wurde, war ein Beispiel, aber kein Verfahren. Das kann man im Wesentlichen auf völlig beliebige Weise zu einem Verfahren fortsetzen. Kleines Beispiel: was ist die nächste Zahl in der Folge 0, 0, 0, 0, 0, 0? Die Antwort gibt es hier:
Zurück zum Thema: unter der Annahme, dass es sich um ein One time pad handelt (was durchaus möglich ist, da wir keine Information über die Länge des unbekannten Schlüssels haben und das Verfahren nie anständig beschrieben wurde) hat jeder der das hier zu knacken versucht schon verloren. Beim Mitlesen einer via One time pad verschlüsselten Nachricht weiß man nach dem Lesen genau so viel darüber was verschlüsselt wurde, wie man vorher wusste. Da könnte ich euch auch gleich sagen "Leute, ich habe einen Text verschlüsselt. Was war der Text?" (Den Ciphertext bekommt ihr von mir nicht; der würde euch wie schon gesagt ohnehin keine weiteren Informationen über den Inhalt der Nachricht geben (außer höchstens eine Abschätzung für deren Länge, wenn ich euch genau sage, wie das Verfahren zu implementieren ist)).