Jump to content

Parallel brute force: Difference between revisions

m
Line 756:
<lang haskell>import Control.Concurrent (setNumCapabilities)
import Crypto.Hash (hashWith, SHA256 (..), Digest)
import Control.Monad (replicateM, join, (>=>))
import Control.Monad.Par (runPar, get, spawnP)
import Data.ByteString (pack)
Line 770:
 
bruteForce :: Int -> [(String, String)]
bruteForce n = runPar $ join <$> (mapM get =<< mapM (spawnP . foldr findMatch []) chunks)
(mapM (spawnP . foldr findMatch []) >=> mapM get) chunks
where
chunks = chunksOf (26^5 `div` n) $ replicateM 5 [97..122]
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.