diff options
Diffstat (limited to 'ws2015/eip/blaetter/10/2/PasswordCrackerThread.java')
-rw-r--r-- | ws2015/eip/blaetter/10/2/PasswordCrackerThread.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/ws2015/eip/blaetter/10/2/PasswordCrackerThread.java b/ws2015/eip/blaetter/10/2/PasswordCrackerThread.java new file mode 100644 index 0000000..dcc0656 --- /dev/null +++ b/ws2015/eip/blaetter/10/2/PasswordCrackerThread.java | |||
@@ -0,0 +1,29 @@ | |||
1 | import java.util.Formatter; | ||
2 | |||
3 | public class PasswordCrackerThread implements Runnable { | ||
4 | |||
5 | public final long rangeStart; | ||
6 | public final long rangeEnd; | ||
7 | |||
8 | public final Synchronizer sync; | ||
9 | |||
10 | public PasswordCrackerThread(Synchronizer s, long start, long end) | ||
11 | { | ||
12 | sync = s; | ||
13 | rangeStart = start; | ||
14 | rangeEnd = end; | ||
15 | } | ||
16 | |||
17 | public void run() { | ||
18 | for (long i = rangeStart; i <= rangeEnd; i++) { | ||
19 | String guess = new Formatter().format("%8d", i).toString(); | ||
20 | String digest = SHA.encrypt(guess); | ||
21 | if (digest.equals(sync.targetHash)) { | ||
22 | synchronized (sync) { | ||
23 | sync.setSolution(i); | ||
24 | break; | ||
25 | } | ||
26 | } | ||
27 | } | ||
28 | } | ||
29 | } | ||