i am very stupid and fucked up lol

This commit is contained in:
lulzette
2021-05-27 20:00:21 +03:00
parent 2876af419e
commit 7e8959363c
2 changed files with 58 additions and 5 deletions

View File

@@ -9,21 +9,24 @@ import Data.Maybe
- Шифр цезаря
- Шифр простой замены
- Шифр Атбаша
- Шифр транспонирования
-}
-- Шифр Атбаша. Простой шифр с заменой алфавита
-- Шифр Цезаря. Сдвиг на N символов в X сторону.
-- Шифр Атбаша. Инверсия алфавита.
-- a = e, r=d и т.д.
atbashEnc :: String -> String
atbashEnc input = do
let alp = ['a'..'z']
let encAlp = "qadewsrgfthuyjkiolpzcxvnbm"
let encAlp = reverse alp
map (\x -> encAlp !! (fromJust (elemIndex x alp))) input
-- Декодер
atbashDec :: String -> String
atbashDec input = do
let alp = ['a'..'z']
let encAlp = "qadewsrgfthuyjkiolpzcxvnbm"
let encAlp = reverse alp
map (\x -> alp !! (fromJust (elemIndex x encAlp))) input
-- Простейший шифр, просто сдвигает алфавит на 1
@@ -38,10 +41,10 @@ simpliestDec input =
main :: IO ()
main = do
putStrLn "Simpliest encoding, just +1 to each letter:"
putStrLn "Простейшее шифрование, просто сдвигаем алфавит:"
print (simpliestEnc "abcdefz")
print . simpliestDec $ "bcdefg{"
putStrLn "atbash Encryption, changing 1 alphabet to another:"
putStrLn "Шифр Атбаша, переворот алфавита:"
print . atbashEnc $ "test"
print . atbashDec $ ( atbashEnc "test" )