Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 8

Кодировать/декодировать данные по протоколу RSA

15.12.2015, 17:26. Показов 1434. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю алгоритм рса, зашифровал в файл свою последовательность, теперь нужно её же считать и расшифровать.
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import random, codecs
 
def prost():
    n =100
    a = list(range(n+1))
    a[1] = 0
    lst = []
    
    i = 2
    while i <= n:
        if a[i] != 0:
            lst.append(a[i])
            for j in range(i, (n+1), i):
                a[j] = 0
        i += 1
    return random.choice(lst)
 
def findd(N,e,f):
    i = 2
    while i < N:
        if((i * e) % f == 1):
            k = i
            return k
            break
        i += 1
    
def BL(x, e, N):
    return (x**e)%N
    
def Bd(y, d, N):
    return (y**d)%N
 
def crypt(e, N):
    f=codecs.open('in.txt', 'r', 'utf-8')
    g=f.read()
    ish = []
    for i in g:
        ish.append(BL(ord(i), e, N))
    
    return ish
        
 
def encrypt(d, N):
    f=codecs.open('out.txt', 'r', encoding='utf-8')
    g=f.read()
    g = g.encode('utf8')
    print(g)
    ish = []
    for i in g:
        print(ord(i))
        #ish.append(Bd(ord(i), d, N))
    print(ish)
    return ish
        
p = prost()
q = prost()
print(p)
print(q)
N = p*q
f = (p-1)*(q-1)
e = 17
d = findd(N,e,f)
print ("d=",d)
 
result = crypt(e, N)
 
fout = codecs.open('out.txt', 'w', 'utf-8')
for i in result:
    fout.write(chr(i))
 
 
 
text=encrypt(d,N)
f = codecs.open('text.txt', 'w', 'utf-8')
for i in text:
    f.write(chr(i))
Весь код целиком, функция crypt и её вызов работают нормально, то есть в файле появляются иероглифы и прочие символы. При попытке считать этот файл происходят разнообразные ошибки. Как я понимаю из-за того что коды символов записаны в юникод, пайтон не может их преобразовать в ютф8. Помогите пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.12.2015, 17:26
Ответы с готовыми решениями:

Кодировать и декодировать unicode
Есть текст crkz = '\u0438\u0437 \u041a\u0438\u0442\u0430\u044f \u0432\u043e \u0432\u0441\u0435 \u0433\u043e\u0440\u043e\u0434\u0430...

Написать программу, которая будет кодировать (и потом декодировать) строку на английском
Ребята, срочно нужно написать программку, подсобите, пожалуйста! Задача: написать программу, которая будет кодировать (и потом...

Почему нужно кодировать и декодировать данные при передаче по сети
Socket handler = sListener.Accept(); string data = null; // Мы дождались клиента, пытающегося с нами соединиться ...

1
393 / 165 / 32
Регистрация: 10.12.2015
Сообщений: 717
15.12.2015, 17:56
Gwynblade, странная постановка вопроса. Шифруются данные. В каком виде представлены данные программе-шифратору должно быть фиолетово. Работать надо с сырыми байтми, а не символами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.12.2015, 17:56
Помогаю со студенческими работами здесь

Как вручную кодировать и декодировать текст?
здрасьте. у меня другой вопрос: как то же самое реализовать вручную? по какому принципу? (начало обсуждения в теме...

Как кодировать и декодировать файлы алгоритмом Rijndael
Может кто нибудь подскажет код как кодировать и декодировать файлы алгоритмом Rijndael ? Примного благодарен)

Считать информацию из одного файла, кодировать во второй и декодировать в третий
Привет, как сделать чтобы программа работала с файлом. Т.е. брала информацию из одного, кодировала во второй и декодировала в третий? ...

Кодировать и декодировать символы путем сдвига их на определенные 5 чисел в диапазоне от -9 до 9
Кодировать и декодировать символы путем сдвига их на определенные 5 чисел в диапазоне от -9 до 9 которые каждый раз рандомно генерируются...

Зачем нужно кодировать данные?
есть функция base64_encode и у меня вопрос зачем нужно кодировать данные? где это нужно и почему существуют много способов кодирования...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru