Я написал код для шифрования и дешифрования (без использования ключа) и хочу, чтобы после дешифрования сообщения сообщение, введенное во время шифрования, было напечатано как есть.
Согласно тому, что я сделал, я успешно могу получить сообщение после запуска алгоритма дешифрования, но результат не в том порядке, в котором я его указывал при вводе данных.Это означает, что: 'h' преобразуется в 'H', как и в случае с другими буквами.
# Encryption
# Trial 4
in_text = input('Enter the text that you want to encrypt: ').lower()
out_text = []
for i in in_text:
if i == ' ':
out_text.append(i)
continue
elif i in 'aeiou':
out_text.append(ord(i) + 4)
continue
else:
out_text.append(i)
final = ''.join(str(e) for e in out_text)
print(final)
# Decryption
# Trial 2
import string
user_input = input('Enter the text that you want to decrypt: ')
d_out = []
z = ''
for i in user_input:
if i == ' ':
d_out.append(i)
continue
elif i in 'bcdfghjklmnpqrstvwxyz':
d_out.append(i)
continue
elif i in string.digits:
z = z + i
n = len(z)
if n == 3:
d_out.append(chr(int(z) - 4))
z = ''
my_str = ''
for a in d_out:
my_str = my_str + a
print(f'The decrypted message is: {my_str.title()}')
Когда я удаляю ".lower ()" в моем коде шифрования и ".title ()"в моем коде дешифрования результат отличается после дешифрования, и на нем напечатаны некоторые специальные символы.
Пожалуйста, дайте мне знать, как я могу продолжить то же самое.
Ваш ответ будетвысоко ценится!
Case 1
ENCRYPTION
Введите текст, который вы хотите зашифровать: hello World h105ll115 w115rld
DECRYPTION
Введите текст, который вы хотите расшифровать: h105ll115 w115rld Расшифрованное сообщение: Hello World
Case 2
После удаления ".lower ()" и ".title ()"
Создание кода шифрования следующим образом:
in_text = input('Enter the text that you want to encrypt: ')
out_text = []
for i in in_text:
if i == ' ':
out_text.append(i)
continue
elif i in 'aeiouAEIOU':
out_text.append(ord(i) + 4)
continue
else:
out_text.append(i)
final = ''.join(str(e) for e in out_text)
print(final)
Создание кода дешифрования следующим образом:
import string
user_input = input('Enter the text that you want to decrypt: ')
d_out = []
z = ''
for i in user_input:
if i == ' ':
d_out.append(i)
continue
elif i in 'bcdfghjklmnpqrstvwxyz':
d_out.append(i)
continue
elif i in string.digits:
z = z + i
n = len(z)
if n == 3:
d_out.append(chr(int(z) - 4))
z = ''
my_str = ''
for a in d_out:
my_str = my_str + a
print(f'The decrypted message is: {my_str}')
Вывод выглядит следующим образом:
Шифрование
Введите текст, который вы хотите зашифровать: Hello world H105ll115 w115rld
Расшифровка
Введите текст, который вы хотите расшифровать: H105ll115 w115rld Зашифрованное сообщение: ello world
Случай 1 и Случай 2 имеют разные выходы, но проблема 'h 'будучи' H 'или' W ', будучи' w 'или другими символами того же порядка, все еще существует.