Cria uma implementação da cifra Atbash, um antigo sistema de encriptação criado no Médio Oriente.
A cifra Atbash é uma cifra de substituição simples que consiste em inverter todas as letras do alfabeto, de modo que o alfabeto resultante fica ao contrário. A primeira letra é substituída pela última, a segunda pela penúltima, e assim sucessivamente.
Uma cifra Atbash para o alfabeto latino seria a seguinte:
Plain: abcdefghijklmnopqrstuvwxyz
Cipher: zyxwvutsrqponmlkjihgfedcba
É uma cifra muito fraca, porque só tem uma chave possível e é uma simples cifra de substituição monoalfabética. No entanto, na época da cifra, isto pode não ter sido um problema.
O texto cifrado é escrito em grupos de comprimento fixo, sendo o tamanho tradicional de 5 letras; os números ficam inalterados e a pontuação é excluída. Isto serve para tornar mais difícil adivinhar coisas com base nos limites das palavras. Todo o texto é codificado com letras minúsculas.
test dá gvhg
x123 yes dá c123b vh
gvhg dá test
gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt dá thequickbrownfoxjumpsoverthelazydog
String.lowercase em desusoDependendo da versão do OCaml que instalaste, a utilização de String.lowercase não é bem vista.
Desde a versão 4.03.0 que String.lowercase está em desuso, a favor de String.lowercase_ascii.
Por isso, em vez de escreveres
String.lowercase "Hello, World!"
usa
String.lowercase_ascii "Hello, World!"
Consulta a documentação de String para conheceres funções mais úteis.
Inscreve-te no Exercism para aprenderes e dominares OCaml com 60 exercícios, e mentoria humana real, tudo grátis.