Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. prepareStrings :: [Char] -> [Char] -> [(Char, Char)]
  2. prepareStrings x y = zip (filter isLetter x) (filter isLetter (take 19 $ cycle y))
  3.  
  4. decodeLetter (key,secret)
  5. | isLower key = chr(ord 'a' + ((ord key + ord secret - ord 'a') - ord 'a') `mod` 26)
  6. | isUpper key = chr(ord 'A' + ((ord key + ord secret - ord 'A') - ord 'A') `mod` 26)
  7.  
  8. encodeLetter (key,secret)
  9. | isLower key = chr(ord 'a' + ((ord key - ord secret - ord 'a') - ord 'a') `mod` 26)
  10. | isUpper key = chr(ord 'A' + ((ord key - ord secret - ord 'A') - ord 'A') `mod` 26)
  11. vigienere tekst key = map decodeLetter $ prepareStrings tekst key
  12.  
  13. unvigienere tekst key = map encodeLetter $ prepareStrings tekst key
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement