Készítsd el az Atbash-rejtjel implementációját. Ez egy ősi, a Közel-Keleten született titkosítási rendszer.
Az Atbash-rejtjel egy egyszerű helyettesítő rejtjel, amely az ábécé betűit fordítja meg, így a kapott ábécé visszafelé olvasandó. Az első betű az utolsó helyére kerül, a második az utolsó előttiére, és így tovább.
A latin ábécére vonatkozó Atbash-rejtjel a következőképpen néz ki:
Plain: abcdefghijklmnopqrstuvwxyz
Cipher: zyxwvutsrqponmlkjihgfedcba
Ez egy nagyon gyenge rejtjel, mert csak egyetlen lehetséges kulcsa van, és egyszerű monoalfabetikus helyettesítő rejtjel. A rejtjel születésének idejében azonban ez talán nem is jelentett problémát.
A rejtjelszöveget rögzített hosszúságú csoportokban írjuk le, a hagyományos csoportméret 5 betű; a számok változatlanul maradnak, az írásjeleket pedig kihagyjuk. Ezzel nehezebb a szóhatárok alapján kitalálni a dolgokat. Minden szöveget kisbetűvel kódolunk.
test kódolásával gvhg-t kapunkx123 yes kódolásával c123b vh-t kapunkgvhg dekódolásával test-et kapunkgsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt dekódolásával thequickbrownfoxjumpsoverthelazydog-ot kapunkString.lowercase elavulásaAttól függően, hogy az OCaml melyik verzióját telepítetted, a String.lowercase használatát nem nézik jó szemmel.
A 4.03.0 verzió óta a String.lowercase elavult, helyette a String.lowercase_ascii használata javasolt.
Tehát ahelyett, hogy ezt írnád:
String.lowercase "Hello, World!"
használd ezt:
String.lowercase_ascii "Hello, World!"
További hasznos függvényekért nézd meg a String dokumentációt.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) OCaml nyelvet 60 feladat segítségével, valódi emberi mentorálással, mindez ingyen.