Anonymous user
Parallel brute force: Difference between revisions
m
→{{header|Haskell}}
Line 756:
<lang haskell>import Crypto.Hash (hashWith, SHA256 (..), Digest)
import Control.Concurrent (getNumCapabilities)▼
import Control.Monad (replicateM, join)
import Control.Monad.Par (runPar, get, spawnP)
▲import Control.Concurrent (getNumCapabilities)
import Data.Text (Text, pack)
import Data.Text.Encoding (encodeUtf8)
Line 775:
bruteForce :: Int -> [Text] -> [(String, Text)]
bruteForce n xs = runPar $
where
chunks = chunksOf (26
findMatch s accum
| hashed `elem` hashedValues = (show hashed, s) : accum
Line 790 ⟶ 787:
main = do
cores <- getNumCapabilities
printf "Using %d cores\n" cores
mapM_ (uncurry (printf "%s -> %s\n")) (bruteForce cores wordVariations)</lang>
{{out}}
|