Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Data.Char
- import Data.Bits
- hash :: String -> Int
- hash str = foldl (step) 783429 $ map (ord) str
- where
- step result c = result + ((c `shiftR` 4) * 31267) `mod` 4623789
- secrets :: Int -> Int -> (Int, Int, Int)
- secrets a b = (1, -(a + b), a * b)
- main :: IO ()
- main = do
- putStrLn "Name: "
- name <- getLine
- putStrLn "Pass: "
- pass <- getLine
- let nameHash = hash name
- let passHash = hash pass
- putStrLn $ show $ secrets nameHash passHash
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement