summaryrefslogtreecommitdiff
path: root/ws2015/eip/blaetter/10/2/PasswordCrackerThread.java
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2016-01-19 12:03:36 +0100
committerGregor Kleen <gkleen@yggdrasil.li>2016-01-19 12:03:36 +0100
commitcc56343a75297fa39b3d215804b6145ef00ff1ed (patch)
treef9b46670965f7fea39ec7bf58888a130caecf8f2 /ws2015/eip/blaetter/10/2/PasswordCrackerThread.java
parent171df5103570946d4e1ff015dee9ed657036e94a (diff)
downloaduni-cc56343a75297fa39b3d215804b6145ef00ff1ed.tar
uni-cc56343a75297fa39b3d215804b6145ef00ff1ed.tar.gz
uni-cc56343a75297fa39b3d215804b6145ef00ff1ed.tar.bz2
uni-cc56343a75297fa39b3d215804b6145ef00ff1ed.tar.xz
uni-cc56343a75297fa39b3d215804b6145ef00ff1ed.zip
EiP 10.2
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}