Advertisement
Guest User

Untitled

a guest
Oct 18th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.37 KB | None | 0 0
  1. def encryption(text, keys):
  2.     # Получение координат букв в изначальном тексте
  3.     x = ""
  4.     y = ""
  5.     for i in text:
  6.         if i in keys:
  7.             x += str(keys[i] // 10)
  8.             y += str(keys[i] % 10)
  9.     sum_num = x + y
  10.  
  11.     # Получение координат в зашифрованном тексте
  12.     x = ""
  13.     y = ""
  14.     for i in range(len(sum_num)):
  15.         if not (i % 2):
  16.             x += sum_num[i]
  17.         else:
  18.             y += sum_num[i]
  19.  
  20.     # Шифрование и вывод текста
  21.     text = ""
  22.     for i in range(len(x)):
  23.         sum_num = int(x[i] + y[i])
  24.         for key, val in keys.items():
  25.             if val == sum_num:
  26.                 text += key
  27.     return(text)
  28.  
  29.  
  30. def decryption(code_text, keys):
  31.     # Получение координат для дешифрования
  32.     sum_num = ""
  33.     for i in code_text:
  34.         sum_num += str(keys[i])
  35.     len_num = int(len(sum_num) / 2)
  36.     x = ""
  37.     y = ""
  38.     for i in range(len_num):
  39.         x += sum_num[i]
  40.         y += sum_num[i + len_num]
  41.  
  42.     # Дешифрование
  43.     text = ""
  44.     for i in range(len(x)):
  45.         sum_num = int(x[i] + y[i])
  46.         for key, val in keys.items():
  47.             if val == sum_num:
  48.                 text += key
  49.     return(text)
  50.  
  51.  
  52. #with open("./text.txt", 'r') as f:
  53. #    text = f.read()
  54. text = input()
  55. print("Объем текста: ", len(text))
  56. print("    Пробелов: ", text.count(" "))
  57.  
  58. # Преобразование текста
  59. text = text.lower()
  60. text = text.replace("j", "i")
  61.  
  62. # Сам ключ
  63. keys = dict(zip(["a", "b", "c", "d", "e", "f", "g", "h", "i", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"],
  64.                 [11, 12, 13, 14, 15, 21, 22, 23, 24, 25, 31, 32, 33, 34, 35, 41, 42, 43, 44, 45, 51, 52, 53, 54, 55]))
  65.  
  66. code_text = encryption(text, keys)
  67. text = decryption(code_text, keys)
  68. print("         Зашифрованный текст: ", code_text)
  69. print(" Объем зашифрованного текста: ", len(code_text))
  70. print("        Расшифрованный текст: ", text)
  71. print("Объем расшифрованного текста: ", len(text))
  72.  
  73. #with open("./encryption.txt", 'w') as f:
  74. #    f.write(code_text)
  75. #with open("./decryption.txt", "w") as f:
  76. #    f.write(text)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement