Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 1
Регистрация: 06.07.2020
Сообщений: 10

Простая программка на питон с шифрованием, пожалуйста подкорректируйте

28.06.2021, 16:25. Показов 1441. Ответов 0

Лучший ответ Сообщение было отмечено Fudthhh как решение

Решение

Студворк — интернет-сервис помощи студентам
модуль main.py
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from functions_v2 import encryption, decryption, reading, writing
 
Key = int(input("Введите ключ шифрования: "))
 
operation = str(input("Введите 'ш' для шифрования, 'р' для расшифрования: "))
 
if operation == 'ш':
  PlainText = reading()
  CipherText = encryption(Key, PlainText) 
  print("\n[+] Шифрование завершено\n") 
  writing(CipherText, operation)
elif operation == 'р' : # если необходимо расшифровать текст
  CipherText = reading()
  PlainText = decryption(Key, CipherText)
  print("\n[+] Расшифрование завершено\n") 
  writing(PlainText, operation)
else:
  print("[-]Выбрана неверная операция")# если введена неверная операция
модуль function.py
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
def reading():
 source = input("Источник данных: \n 'к' - консоль \t 'ф' - файл \n") 
 if source == 'к':
   data = input("Введите текст: ").strip()
   return data
 elif source == 'ф':
   filename = input("Название файла с данными в формате '*.txt': \n")
   with open(filename, 'r') as f:
    data = f.read()
   data = data.encode("cp1251").decode("cp1251")
   return data
 else:
  print("[-] Выбрана неверная операция")
 
def writing(data, operation):
  op = operationtype(operation)
  exit = input("Вид вывода данных: \n 'к' - консоль \t 'ф' - файл: \n")
  if exit == 'к':
    print("Результат: ", data)
  elif exit == 'ф':
    string = f"Файл для вывода результата {op} в формате 'имя.txt': \n" 
    filename = input(string)
    with open(filename, 'w') as f: 
      for simbol in data:
       try:
         f.write(i.encode("cp1251").decode("cp1251"))
       except:
         print(i)
         pass
    print("\n[+] Результат %s записан в файл %s"%(operationtype(operation), filename))
  else:
    print("[-] Выбрана неверная операция")
 
def operationtype(operation): 
  sh = "шифрования"
  rsh = "расшифрования" 
  if operation == "ш": 
     return sh
  elif operation == "р":
     return rsh
 
def encryption(Key, PlainText):
 CipherText = ''
 for p in PlainText:
  code = ord(p)+Key
  CipherText += chr(code)
 return CipherText
 
 
def decryption(Key, CipherText):
 PlainText = ''
 for p in CipherText:
  code = ord(p)-Key
  PlainText += chr(code)
 return PlainText;
Добавлено через 5 минут
нужно считать текст с файла *.тхт (в блокноте любой текст создаем сначала), потом зашифровать его через питон/командную строку - не важно (сохранив под другим именем в формате .тхт). Моя ошибка в том, что в файл не сохраняется (но создает пустой, новый файл), но если не сохранять в файл, а выводить на экран/консоль - все работает.

Добавлено через 12 минут
все, нашел ошибку, вместо символ надо было и написать)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.06.2021, 16:25
Ответы с готовыми решениями:

простая программка с if и switch, пожалуйста!!
составить простую программу сначала с if,а потом и со switch. можно и разные. программка типа: ввеедите число(ручной ввод) если например...

Простая программка.
Ребят подскажите код для того что бы: В произвольной квадратной матрице заменить строку с минимальным элементом матрицы нулями, а...

Простая программка
Здравствуйте, помогите пожалуйста с написанием программки на VB, посмотрел половину форума, что то не получается( Дана строка...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.06.2021, 16:25
Помогаю со студенческими работами здесь

Подкорректируйте пожалуйста код.
Поместить в массив все числа в записи которых есть двойка, а рядом в массив записать, что получится из этого числа без двоекэ...

Подкорректируйте сборку, пожалуйста
Здравствуйте. Я хочу собрать мощный компьютер для стрима игр. Примерно полгода назад мне дали распечатку вот с такими характеристиками: ...

Пожалуйста подкорректируйте программу!
Помогите пожалуйста подкорректировать программу! Суть в том , что программа работает , но при вводе отрицательных , дробных , и других...

Подкорректируйте сборку, пожалуйста
Здравствуйте. Можете подкорректировать данную сборку? SSD не нужен, процессор для разгона тоже, беру обычную модель. В связи с этим, что...

Троян или простая программка
Почитал про то что при загрузке винды у пользователя появлялась картинка с текстом отправить СМС . Была у меня такая ерунда ,винда...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru