Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
38
Task/Parallel-brute-force/Nim/parallel-brute-force.nim
Normal file
38
Task/Parallel-brute-force/Nim/parallel-brute-force.nim
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
import strutils, threadpool
|
||||
import nimcrypto
|
||||
|
||||
const
|
||||
|
||||
# List of hexadecimal representation of target hashes.
|
||||
HexHashes = ["1115dd800feaacefdf481f1f9070374a2a81e27880f187396db67958b207cbad",
|
||||
"3a7bd3e2360a3d29eea436fcfb7e44c735d117c42d1c1835420b6b9942dd4f1b",
|
||||
"74e1bb62f8dabb8125a58852b63bdf6eaef667cb56ac7f7cdba6d7305c50a22f"]
|
||||
|
||||
# List of target hashes.
|
||||
Hashes = [MDigest[256].fromHex(HexHashes[0]),
|
||||
MDigest[256].fromHex(HexHashes[1]),
|
||||
MDigest[256].fromHex(HexHashes[2])]
|
||||
|
||||
Letters = 'a'..'z'
|
||||
|
||||
|
||||
proc findHashes(a: char) =
|
||||
## Build the arrays of five characters starting with the value
|
||||
## of "a" and check if their hash matches one of the targets.
|
||||
## Print the string and the hash value if a match is found.
|
||||
for b in Letters:
|
||||
for c in Letters:
|
||||
for d in Letters:
|
||||
for e in Letters:
|
||||
let s = [a, b, c, d, e]
|
||||
let h = sha256.digest(s)
|
||||
for i, target in Hashes:
|
||||
if h == target: # Match.
|
||||
echo s.join(), " → ", HexHashes[i]
|
||||
|
||||
|
||||
# Launch a thread for each starting character.
|
||||
for a in Letters:
|
||||
spawn findHashes(a)
|
||||
|
||||
sync()
|
||||
Loading…
Add table
Add a link
Reference in a new issue