Guten Tag Zusammen
Ich habe ein Problem mit Folgendem Code.
Und Ja der Codeabschnitt ist nur für Studienzwecke, nichts was Schaden anrichten soll.
Die Kommandozeilenausgabe gibt auch schon Auskunft über das Problem.
Wie man in den ersten Zeilen der Ausgabe erkennt, wird z.b die in
ASCII Kodierte Zahl 1 in der setBrute Methode Ausgegeben und auch gespeichert.
In der run() Methode des Thread wird jedoch als erstes ASCII Zeichen die Zahl 2 Ausgegeben.
Die Methode setBrute() wird dabei von einer Oberklasse nur Aufgerufen,
wen die Variable needBrute == true ist.
private boolean needBrute = true;
private byte Brute[];
void setBrute(byte BruteS[]) {
System.out.println("setBrute: " + new String(BruteS));
this.Brute = BruteS;
this.needBrute = false;
}
public void run() {
while (!HashCracked) {
if (needBrute == false) {
System.out.println("In Run: " + new String(Brute));
if (MD5Hash.equals(MD5Java.hash(Brute))) {
FinalBrute = String.valueOf(new String(Brute));
HashCracked = true;
break;
}
needBrute = true;
}
else {
try {Thread.sleep(1);}
catch (InterruptedException e) {}
}
}
}
}```
Die Konsolenausgabe
setBrute: 1
In Run: 2
setBrute: 2
In Run: 3
setBrute: 3
In Run: 4
setBrute: 4
In Run: 5
setBrute: 5
In Run: 6
setBrute: 6
In Run: 7
setBrute: 7
In Run: 8
setBrute: 8
In Run: 9
setBrute: 9
In Run: 0
setBrute: 0
In Run: a
setBrute: a
In Run: b
setBrute: b
In Run: c
setBrute: c
In Run: d
setBrute: d
In Run: e
setBrute: e
In Run: f
setBrute: f
In Run: g
setBrute: g
In Run: h
setBrute: h
In Run: i
setBrute: i
In Run: j
setBrute: j
In Run: k
setBrute: k
In Run: l
setBrute: l
In Run: m
setBrute: m
In Run: n
setBrute: n
In Run: o
setBrute: o
In Run: p
setBrute: p
In Run: q
setBrute: q
In Run: r
setBrute: r
In Run: s
setBrute: s
In Run: t
setBrute: t
In Run: u
setBrute: u
In Run: v
setBrute: v
In Run: w
setBrute: w
In Run: x
setBrute: x
In Run: y
setBrute: y
In Run: z
setBrute: z
In Run: A
setBrute: A
In Run: B
setBrute: B
In Run: C
setBrute: C
In Run: D
setBrute: D
In Run: E
setBrute: E
In Run: F
setBrute: F
In Run: G
setBrute: G
In Run: H
setBrute: H
In Run: I
setBrute: I
In Run: J
setBrute: J
In Run: K
setBrute: K
In Run: L
setBrute: L
In Run: M
setBrute: M
In Run: N
setBrute: N
In Run: O
setBrute: O
In Run: P
setBrute: P
In Run: Q
setBrute: Q
In Run: R
setBrute: R
In Run: S
setBrute: S
In Run: T
setBrute: T
In Run: U
setBrute: U
In Run: V
setBrute: V
In Run: W
setBrute: W
In Run: X
setBrute: X
In Run: Y
setBrute: Y
In Run: Z
setBrute: Z
In Run: Z