Program Python pentru criptare si decriptare de mesaje

Salutare!

Mi se pare fascinant cum mesajele pot fi modificate si cu toate astea intelese de catre cineva care stie cum au fost modificate.

M-am jucat si eu cu criptarea si decriptarea mesajelor si am zis sa va impartasesc si voua pasiunea mea. Acum am folosit un mod simplu de a cripta si decripta mesajele: decalarea pozitiei fiecarei litere din alfabet in functie de cheia folosita (un numar de la 1 la 25). Adica verificam fiecare litera din mesaj pe ce pozitie este in alfabet si o decalam cu “x” pozitii, atat cat ne indica cheia.

Sa va dau un exemplu concret: Sa criptam mesajul “TU” cu cheia de criptare “5”. Asta inseamna ca “T” se va transforma in “O” iar “U” in “P”. Astfel, cuvantul “TU” criptat cu cheia “5” devine “OP”. Putem trimite cuiva mesajul astfel modificat si sa ii spunem ca trebuie sa foloseasca pentru decriptaret cheia “5” si va ajunge inapoi la mesajul initial “TU”.

Mai jos aveti rezultatul criptarii si verificarea decriptarii mesajului cu aceasi cheie:

Iata codul scris de mine (*Free to copy and use for educational purposes):

# Copyright 2020 by Sebastian Chetroni - ZCoder.ro
# Free to copy and use for educational purposes
print("Program de criptare si decriptare mesaje - ZCoder.ro - V0.1")
print("")
print("Salutare!")
while True:
    print("Vrei sa decriptezi sau sa criptezi un mesaj?")
    mode = int(input('Introdu "0" pentru decriptare si "1" pentru criptare.'))
    alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ '
    str_to_encrypt = input('Introdu mesajul: ')
    str_to_encrypt = str_to_encrypt.upper()
    shift_amount = -int(input('Introdu cheia de criptare (un numar de la 1 la 25): ')) if mode == 1 else int(input('Introdu cheia de criptare (un numar de la 1 la 25)'))
    encrypted_str = ''
    for x in str_to_encrypt:
        zt = alphabet.find(x)
        ztx = zt + shift_amount
        encrypted_str = encrypted_str + alphabet[ztx]
    print(str('Mesajul final este: %s.') % (encrypted_str))

Ma numesc Sebastian, am 8 ani si sunt pasionat de: programare in Python, Raspberry Pi, citit, sport, fotografie si Xbox. Ma gasesti si pe: Instagram, Youtube, Facebook
Comments

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *