Advertisement
Oleksandr_Bitkov

menu

May 6th, 2024 (edited)
635
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 8.15 KB | None | 0 0
  1. import verticalPermutationCipher as vpc
  2. import substitutionCipher as sc
  3.  
  4. import os
  5.  
  6. exit = False
  7.  
  8.  
  9. while True:
  10.     os.system("cls" if os.name == "nt" else "clear")
  11.     print(
  12.         "\n==================================:Шифрування/Розшифрування:=================================="
  13.     )
  14.     print(
  15.         "----Використовується \033[1;32;34mпоєднаний шифр\033[0m та \033[1;32;34mшифр вертикальної перестановки\033[0m------------"
  16.     )
  17.     print("\n\nОберіть дію:\n")
  18.     print("1. Шифрування повідомлення;")
  19.     print("2. Розшифрування повідомлення;")
  20.     print("0. Вихід з застосунку.")
  21.  
  22.     do = input("\n\nОберіть дію: ")
  23.  
  24.     if do == "1":
  25.         os.system("cls" if os.name == "nt" else "clear")
  26.         while True:
  27.             print("\n=========:ШИФРУВАННЯ:=========")
  28.             print("\n\nЗа яким алгоритмом будемо виконувати шифрування?\n")
  29.             print("1. Шифр вертикальної перестановки;")
  30.             print("2. Поєднаний шифр;")
  31.             print("9. Повернутися назад;")
  32.             print("0. Вихід із застосунку.")
  33.  
  34.             choice = input("\n\nОбраний алгоритм/дія: ")
  35.  
  36.             if choice == "1":
  37.                 os.system("cls" if os.name == "nt" else "clear")
  38.                 print("\n=========:Шифр вертикальної перестановки:=========")
  39.                 key = input("\nУвідть ключ: ")
  40.                 message = input("Увідть повідомлення: ")
  41.  
  42.                 print("\nВаше зашфироване повідомлення можно скопіювати нижче\n\n")
  43.                 print(vpc.encode(message, key))
  44.  
  45.                 input("\n\nНатисніть будь-яку клавішу для продовження...")
  46.                 os.system("cls" if os.name == "nt" else "clear")
  47.  
  48.             elif choice == "2":
  49.                 os.system("cls" if os.name == "nt" else "clear")
  50.                 print("\n=========:Поєднаний шифр:=========")
  51.                 while True:
  52.                     print("\nДля початку оберіть абетку\n")
  53.                     print("1. Українська;")
  54.                     print("2. Англійська;")
  55.                     choice = input("\n\nОберіть абетку: ")
  56.  
  57.                     if choice == "1":
  58.                         alpabet = "ukr"
  59.                         break
  60.                     elif choice == "2":
  61.                         alpabet = "en"
  62.                         break
  63.                     else:
  64.                         print("\033[31mНе зрозумілий вибір! Оберіть з переліку\033[0m")
  65.                         input("\n\nНатисніть будь-яку клавішу для продовження...")
  66.                         os.system("cls" if os.name == "nt" else "clear")
  67.  
  68.                 key = input("\nУвідть ключ: ")
  69.                 message = input("Увідть повідомлення: ")
  70.  
  71.                 print("\nВаше зашфироване повідомлення можно скопіювати нижче\n\n")
  72.                 print(sc.encode(message, key, alpabet))
  73.  
  74.                 input("\n\nНатисніть будь-яку клавішу для продовження...")
  75.                 os.system("cls" if os.name == "nt" else "clear")
  76.  
  77.             elif choice == "9":
  78.                 os.system("cls" if os.name == "nt" else "clear")
  79.                 break
  80.             elif choice == "0":
  81.                 os.system("cls" if os.name == "nt" else "clear")
  82.                 exit = True
  83.                 break
  84.             else:
  85.                 print("\n\033[31mНе зрозумілий вибір. Оберіть з переліку\033[0m")
  86.                 input("\nНатисніть будь-яку клавішу для продовження...")
  87.                 os.system("cls" if os.name == "nt" else "clear")
  88.  
  89.     elif do == "2":
  90.         os.system("cls" if os.name == "nt" else "clear")
  91.         while True:
  92.             print("\n=========:РОЗШИФРУВАННЯ:=========")
  93.             print("\n\nЗа яким алгоритмом будемо виконувати розшифрування?\n")
  94.             print("1. Шифр вертикальної перестановки;")
  95.             print("2. Поєднаний шифр;")
  96.             print("9. Повернутися назад;")
  97.             print("0. Вихід із застосунку.")
  98.  
  99.             choice = input("\n\nОбраний алгоритм: ")
  100.  
  101.             if choice == "1":
  102.                 os.system("cls" if os.name == "nt" else "clear")
  103.                 print("\n=========:Шифр вертикальної перестановки:=========")
  104.                 key = input("\nУвідть ключ: ")
  105.                 message = input("Увідть зашифроване повідомлення: ")
  106.  
  107.                 print("\nВаше розшифроване повідомлення можна скопіювати нижче\n\n")
  108.                 print(vpc.decode(message, key))
  109.  
  110.                 input("\n\nНатисніть будь-яку клавішу для продовження...")
  111.                 os.system("cls" if os.name == "nt" else "clear")
  112.  
  113.             elif choice == "2":
  114.                 os.system("cls" if os.name == "nt" else "clear")
  115.                 print("\n=========:Поєднаний шифр:=========")
  116.                 while True:
  117.                     print("\nДля початку оберіть абетку\n")
  118.                     print("1. Українська;")
  119.                     print("2. Англійська;")
  120.                     choice = input("\n\nОберіть абетку: ")
  121.  
  122.                     if choice == "1":
  123.                         alpabet = "ukr"
  124.                         break
  125.                     elif choice == "2":
  126.                         alpabet = "en"
  127.                         break
  128.                     else:
  129.                         print("\033[31mНе зрозумілий вибір! Оберіть з переліку\033[0m")
  130.                         input("\n\nНатисніть будь-яку клавішу для продовження...")
  131.                         os.system("cls" if os.name == "nt" else "clear")
  132.  
  133.                 key = input("\nУвідть ключ: ")
  134.                 message = input("Увідть зашифроване повідомлення: ")
  135.  
  136.                 print("\nВаше розшифроване повідомлення можна скопіювати нижче\n\n")
  137.                 print(sc.decode(message, key, alpabet))
  138.  
  139.                 input("\n\nНатисніть будь-яку клавішу для продовження...")
  140.                 os.system("cls" if os.name == "nt" else "clear")
  141.  
  142.             elif choice == "9":
  143.                 os.system("cls" if os.name == "nt" else "clear")
  144.                 break
  145.             elif choice == "0":
  146.                 os.system("cls" if os.name == "nt" else "clear")
  147.                 exit = True
  148.                 break
  149.             else:
  150.                 print("\n\033[31mНе зрозумілий вибір. Оберіть з переліку\033[0m")
  151.                 input("\nНатисніть будь-яку клавішу для продовження...")
  152.                 os.system("cls" if os.name == "nt" else "clear")
  153.     elif do == "0":
  154.         os.system("cls" if os.name == "nt" else "clear")
  155.         print("\nДо зустрічі :)")
  156.         break
  157.     else:
  158.         print("\n\033[31mНе зрозуміла дія. Оберіть з переліку!\033[0m")
  159.         input("\nНатисніть будь-яку клавішу для продовження...")
  160.         os.system("cls" if os.name == "nt" else "clear")
  161.  
  162.     if exit:
  163.         os.system("cls" if os.name == "nt" else "clear")
  164.         print("\nДо зустрічі :)")
  165.         break
  166.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement