Я нашел код, помогите понять как он работает
Это программа шифровальщик ты вводишь слово, ключ шифрования, и оно выводит зашифрованное слово, потом введя это зашифрованное слово, и этот же ключ шифрования выведется слово которое вы писали изначально. Вот код:
run = True
while run:
a = input('Введи слово для шифрования: ')
key = input('Введи ключ шифрования: ')
# переводим ключ в число
keyBin = 0
for letter in key:
keyBin += ord(letter)
# функция шифрования
def XOR_cipher(a, keyBin):
encripted = ''
for letter in a:
encripted += chr(ord(letter) ^ keyBin)
return encripted
x = XOR_cipher(a, keyBin)
# функция дешифрования
def XOR_uncipher(x, keyBin):
uncripted = ''
for symbol in x:
uncripted += chr(ord(symbol) ^ keyBin)
return uncripted
y = XOR_uncipher(x, keyBin)
print("Зашифровонное слово:" + x)
print("Слово которое было изначально:" + y)
print("<!--------!>")
Ответы (1 шт):
Автор решения: Frog
→ Ссылка
Шифрование на основе операций XOR использует свойство: (a XOR k) XOR k = a где k – выступает в роли ключа
Ваша программа шифрует посимвольно: т.е. применяет к каждому символу исходной строки операцию XOR. Расшифровывает она так же посимвольно, применяя вновь операцию XOR и тот же ключ.