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
- Olimpiada Nationala de Informatica 2023. Rezolvare problema „Cadouri” in C++, clasa a V-a
- Olimpiada Nationala de Informatica 2023. Rezolvare problema „Patinaj” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2018. Rezolvare problema „Forus” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2018. Rezolvare problema „Patrate” in C++, clasa a V-a
- Olimpiada Judeteana de Informatica 2019. Rezolvare problema „Cartele” in C++, clasa a V-a
Comentarii recente
- irina c la Olimpiada Judeteana de Informatica 2021. Rezolvare problema „Concurs” in C++, clasa a V-a
- M la Olimpiada Judeteana de Informatica 2022. Rezolvare problema „Sume si secvente” in C++, clasa a V-a
- Sebastian Chetroni la Olimpiada Judeteana de Informatica 2023. Rezolvare problema „Aeriana” in C++, clasa a V-a
- andrei toma la Olimpiada Judeteana de Informatica 2023. Rezolvare problema „Aeriana” in C++, clasa a V-a
- andrei nicolescu la Am fost in tabara educationala de vara Atlantykron. Voi mai merge
e bun de proiect la scoala, multumesc.
Cu placere! O sa mai pun astfel de programe daca va sunt de ajutor!