import Data.Function (on) | |
import Data.Char (ord, chr) | |
import Data.Bits (xor) | |
import System (getArgs) | |
crypt :: FilePath -> String -> IO String | |
crypt filename key = do | |
text <- readFile filename | |
let code = map chr $ zipWith (xor `on` ord) text $ cycle key | |
return code | |
main = do | |
[filename,key] <- getArgs | |
encrypted <- crypt filename key | |
putStr encrypted |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment