Código: Seleccionar todo
import Data.Bits
import Data.Char
xXor :: [Char] -> Int -> [Int]
xXor x k = [xor (ord y) k | y <- x]
desXor :: [Int] -> Int -> [Char]
desXor x k = [chr (y `xor` k) | y <- x]
Muestra:
Código: Seleccionar todo
GHCi, version 7.6.3: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
[1 of 1] Compiling Main ( C:\Documents and Settings\Strup\Mis docume
ntos\Mis Scripts En Haskell\xor.hs, interpreted )
Ok, modules loaded: Main.
*Main> xXor "Haskell" 28
[84,125,111,119,121,112,112]
*Main> desXor [84,125,111,119,121,112,112] 28
"Haskell"
*Main>
Salu2