Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- prepareStrings :: [Char] -> [Char] -> [(Char, Char)]
- prepareStrings x y = zip (filter isLetter x) (filter isLetter (take 19 $ cycle y))
- decodeLetter (key,secret)
- | isLower key = chr(ord 'a' + ((ord key + ord secret - ord 'a') - ord 'a') `mod` 26)
- | isUpper key = chr(ord 'A' + ((ord key + ord secret - ord 'A') - ord 'A') `mod` 26)
- encodeLetter (key,secret)
- | isLower key = chr(ord 'a' + ((ord key - ord secret - ord 'a') - ord 'a') `mod` 26)
- | isUpper key = chr(ord 'A' + ((ord key - ord secret - ord 'A') - ord 'A') `mod` 26)
- vigienere tekst key = map decodeLetter $ prepareStrings tekst key
- unvigienere tekst key = map encodeLetter $ prepareStrings tekst key
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement