Я хотел бы построить cypher с python, который расшифровывает текст, многократно перемещаясь по номерам переключателя слева направо, а затем справа налево и сдвигая букву в алфавите на соответствующий номер.Python cypher: как построить сложную систему переключения?
Пример:
- переключения: 123
- текст:
i like python
- процесс: + 1 = у, пространство, L + 2 = п, г + 3 = л, к + 3 = n, e + 2 = g, пробел, p + 1 = q, y + 1 = z, t + 2 = v, h + 3 = j, o + 3 = q, n + 2 = p
- результат:
j nlng qzvjqp
код до сих пор:
import string
numbers = ""
x = 3
while x < 10000:
numbers = numbers + str(x)
x += 1
shift = 221
#string.ascii_lowercase
letters = string.ascii_letters + string.punctuation + numbers
text = (raw_input("Please enter text"))
encoded = ''
for letter in text:
if letter == ' ':
encoded = encoded + ' '
else:
x = letters.index(letter) + shift
encoded = encoded + letters[x]
print encoded
Он использует до сих пор базовый метод кодирования. Мне было бы интересно узнать, как можно реализовать описанную выше систему кодирования в коде.
Предупреждение, что этот шифр крайне небезопасен. – Sean
Альтернативой будет RC4. Это простой, но мощный потоковый шифр. [Здесь] (https://gist.github.com/2958701) является реализацией Python. – schlamar
Я скопировал ваш код на вопрос, чтобы избежать дополнительного нажатия. – georg