Алфавит считывается из файла при декодировании

This commit is contained in:
2024-11-21 15:12:08 +03:00
parent 09b722a8eb
commit d8db6809e4

View File

@@ -58,6 +58,8 @@ main = do
saveBmpImage encodedImagePath (ImageRGB8 resultImage)
putStrLn $ "Изображение сохранено по пути: \"" ++ encodedImagePath ++ "\""
putStrLn $ "\nЧтение алфавита из файла \"" ++ alphabetPath ++ "\""
alphabetFromFile <- readFile alphabetPath
putStrLn "\nДекодирование текста из изображения"
case extractShift encodedImagePath of
@@ -73,7 +75,7 @@ main = do
putStrLn $ "10 битов шифра: \"" ++ show (take 10 $ VU.toList bits) ++ "\""
let encryptedTextFromImage = takeWhile (/= '\NUL') (bitsToText bits)
putStrLn $ "10 символов шифра: \"" ++ take 10 encryptedTextFromImage ++ "\""
let decryptedText = decryptCaesar alphabet extractedCaesarShift encryptedTextFromImage
let decryptedText = decryptCaesar alphabetFromFile extractedCaesarShift encryptedTextFromImage
putStrLn $ "10 символов текста: \"" ++ take 10 decryptedText ++ "\""
writeFile decodedTextPath decryptedText
putStrLn $ "Текст сохранён по пути: \"" ++ decodedTextPath ++ "\""