diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2016-01-19 12:03:36 +0100 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2016-01-19 12:03:36 +0100 |
| commit | cc56343a75297fa39b3d215804b6145ef00ff1ed (patch) | |
| tree | f9b46670965f7fea39ec7bf58888a130caecf8f2 /ws2015/eip/blaetter/10/2/PasswordCrackerThread.java | |
| parent | 171df5103570946d4e1ff015dee9ed657036e94a (diff) | |
| download | uni-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.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 | } | ||
