Implemente essa cifra de chave
Objetivo
Use o algoritmo (explicado na seção Algoritmo) para implementar uma determinada cifra.
O programa deve ler a entrada do STDIN ou o equivalente mais próximo disponível, usar o algoritmo para gerar o texto cifrado e uma chave.
O texto cifrado e a chave serão gravados em STDOUT ou no equivalente mais próximo disponível. Qualquer formato é permitido, desde que ele produza o texto cifrado e a chave.
Algoritmo
Converta os caracteres na sequência nos respectivos valores ASCII. Por exemplo:
Hello -> 72 101 108 108 111
Em seguida, você precisará gerar uma chave desde que a sequência com números aleatórios no intervalo de 0 a 9.
Hello -> 62841
Adicione os números inteiros na sequência de números aleatórios aos valores ASCII da sequência. Nos exemplos acima, 72 se tornaria 78 e 101 se tornaria 104.
72 + 6 = 78, 101 + 2 = 103, 108 + 8 = 116, etc
Em seguida, converta os novos valores novamente em caracteres. Nos exemplos acima, o texto Hello
se tornou Ngtpp
.
Exemplos
(Estes são apenas exemplos de como a saída pode ser. A saída pode e irá variar.)
Hello World
Lfrlu)_supg
41606984343
This will be encoded
Zhjs$~koo gj$iuhofgj
60104723305544750226
Regras
- Você pode assumir que a entrada conterá apenas caracteres no intervalo az, AZ e espaços.
- As submissões devem ser programas ou funções completos.
- As submissões serão pontuadas em bytes.
- As brechas padrão são proibidas.
- Isso é código-golfe, então o código mais curto vence.
(Esse é um dos meus primeiros desafios, se houver algo errado com isso, fique à vontade para me dizer como eu poderia melhorá-lo.)
preferably with the format (ciphertext)\n(key).
"recursos preferenciais" e código de golfe não se misturam muito bem. Você deve tornar isso obrigatório ou permitir outros formatos de saída. 3. A chave precisa ser impressa sem espaços? Que tal imprimi-lo em formato de lista, por exemplo[0, 5, 2, ...]
?