Witam, mam taki oto kod
from secrets import randbelow
import string
def generate_scheme(output):
litery = string.printable+'ąśżźłóęńć'
for litera in litery:
litera_i_jej_id_str = litera + ' => ' + str(randbelow(1000000))
output.write((litera_i_jej_id_str + '\n').encode('utf8'))
# zaszyfrowywanie
def encrypt_text(text, crypto_scheme):
przypisane_kody_do_liter = crypto_scheme.split('\n')
kody = {}
for przypisany_kod_do_litery in przypisane_kody_do_liter:
if przypisany_kod_do_litery != '':
(litera, kod) = przypisany_kod_do_litery.split(' => ')
kody[litera] = kod
wynik = ''
for litera in text:
wynik += kody[litera]+' '
return wynik.strip().replace(' ', ',')
# deszyfrowanie
def decrypt_text(text, crypto_scheme):
przypisane_litery_do_kodow = crypto_scheme.split('\n')
litery = {}
text = text.replace(',', '')
for przypisana_litera_do_kodu in przypisane_litery_do_kodow:
if przypisana_litera_do_kodu != '':
(litera, kod) = przypisana_litera_do_kodu.split(' => ')
litery[kod] = litera
wynik = ''
for litera in text:
wynik += litery[litera]
return wynik.strip()
#with open('encryption_scheme.txt', 'wb') as plik:
# generate_scheme(plik)
with open('encryption_scheme.txt', 'rb') as plik:
crypto_scheme = plik.read().decode('utf8')
print(encrypt_text('żółć', crypto_scheme))
print(decrypt_text(encrypt_text('żółć', crypto_scheme), crypto_scheme))
Jednak zamiast odszyfrować tekst podeja mi on tylko ććććććććććććććććććććććć