ちょっと書いてみた
すごいH本にシーザー暗号がのっていたので、
もっと安全を期すため(?)に多表式暗号を作れるようにしました。
import Data.Char key = [1, 2, 3, 4, 5, 6] decode = code' (map (* (-1)) key) code = code' key code' ky = fst . foldr (\ c (str,n) -> (chr (shift c n ky) : str , n+1)) ([],0) . map ord shift c n ky = c + (ky !! (n `mod` length ky))
Haskellだと短くかけるなー。