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))
Author: Sebastian Chetroni
Website: https://zcoder.ro
Articole recente
- Cod Python si C++ care sa genereze o parola formata din litere, cifre si caractere speciale de o lungime introdusa de la tastatura
- Cod Python si C++ pentru a genera al N-lea numar prim. N introdus de la tastatura
- Am fost in tabara educationala de vara Atlantykron. Voi mai merge
- Iluminare automatizata pentru acvariu cu Arduino Nano si C++
- Program Python care testeaza daca un numar este palindrom. Cod sursa
Comentarii recente
- andrei nicolescu la Am fost in tabara educationala de vara Atlantykron. Voi mai merge
- Sebastian Chetroni la Iluminare automatizata pentru acvariu cu Arduino Nano si C++
- Bogdan Mares la Iluminare automatizata pentru acvariu cu Arduino Nano si C++
- Sebastian Chetroni la Carte de programare în Python pentru începători, în limba română
- Rares la Carte de programare în Python pentru începători, în limba română
e bun de proiect la scoala, multumesc.
Cu placere! O sa mai pun astfel de programe daca va sunt de ajutor!