summaryrefslogtreecommitdiff
path: root/ws2015/eip/blaetter/10/2/PasswordCrackerThread.java
diff options
context:
space:
mode:
Diffstat (limited to 'ws2015/eip/blaetter/10/2/PasswordCrackerThread.java')
-rw-r--r--ws2015/eip/blaetter/10/2/PasswordCrackerThread.java29
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 @@
1import java.util.Formatter;
2
3public 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}