fixed autokey

This commit is contained in:
Student 2025-08-19 08:32:10 +05:30
parent 493d31e3c6
commit de98ad4268
2 changed files with 14 additions and 32 deletions

View file

@ -25,34 +25,27 @@ def vigenere_de(ctext, vk):
result.append(ch)
return ''.join(result)
def autokey_en(ptext, ak):
result = []
ptext = ptext.upper()
current_key = ak
for ch in ptext:
k = ord(ak.upper()) if isinstance(ak, str) else ak
out = []
for ch in ptext.upper():
if ch.isalpha():
shift = (current_key - ord('A')) % 26
cipher_char = chr((ord(ch) - ord('A') + shift) % 26 + ord('A'))
result.append(cipher_char)
current_key = ord(cipher_char)
out_ch = chr((ord(ch) - 65 + (k - 65)) % 26 + 65)
out.append(out_ch); k = ord(ch)
else:
result.append(ch)
return ''.join(result)
out.append(ch)
return ''.join(out)
def autokey_de(ctext, ak):
result = []
ctext = ctext.upper()
current_key = ak
for ch in ctext:
k = ord(ak.upper()) if isinstance(ak, str) else ak
out = []
for ch in ctext.upper():
if ch.isalpha():
shift = (current_key - ord('A')) % 26
plain_char = chr((ord(ch) - ord('A') - shift) % 26 + ord('A'))
result.append(plain_char)
current_key = ord(plain_char)
p = chr((ord(ch) - 65 - (k - 65)) % 26 + 65)
out.append(p); k = ord(p)
else:
result.append(ch)
return ''.join(result)
out.append(ch)
return ''.join(out)
def operator(argument,ptext,ak,vk):
match argument: