Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Salvators
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 13
#1

Работа с файлами - C++

13.10.2013, 19:41. Просмотров 325. Ответов 2
Метки нет (Все метки)

Здравствуйте. В моей программе нужно зашифровать файл любого расширения, например jpg (я взял). Проблема в том, что: значения которые я получаю из файла - они типа char, использованный шифр Эль-Гамаля работает только с числами. Вопрос: как зашифровать данные типа char по этому шифру.
C++
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
ifstream Fread;
    int i, gcd=0, r, e;
    long long cB, dB, k;
    int m;
    long long p, q, g=0;
    Fread.open("C:\\проги\\ris.jpg", ios::binary|ios::in|ios::ate);
    size_t raz = Fread.tellg();
    vector <char> result(raz);
    Fread.seekg(0, ios::beg);
    Fread.read(&result[0], raz);
    Fread.close (); 
    
            while(1)
            {
              cout<<"Введите p"<<endl;
              cin>>p;
              if(prost(p)) // проверка на простоту
                break;
              else cout<<"Не простое"<<endl;
             }
            q=(p-1)/2;
            for(i=2; i<=p-1; i++)
            {
               g=i;
               if (mod(g, p, q)!=1)  break;
            } 
            cout<<g<<endl;
            while(1)
            {
              cout<<"Введите сB: "<<endl;
              cin>>cB;
              if (vzprost(p-1, cB, gcd) == 1) // проверка на взаимную простоту чисел
                 break;
               else cout<<"Числа сB и (р-1) - не взаимно простые. Попробуйте еще раз!"<<endl;
            }
            dB=mod(g, p, cB);
            while(1)
            {
                cout<<"Введите k (от 1 до "<<p-2<<"): "<<endl;
                cin>>k;
                if( k>=1 && k<=(p-2))
                    break;
                else
                    cout<<"Такое k не подходит. Попробуйте еще раз"<<endl;
            }
            ofstream Fwrite;
            Fwrite.open ("C:\\проги\\ris1.jpg", ios::binary|ios::out);
            r = mod(g, p, k); //вычисление g в степени k по модулю p
            Fwrite << r << ",";
            for(size_t i=1;i<raz;i++) 
            {
                e = (result[i] * mod(dB, k, p)) % p;
                Fwrite << e << ",";
            }
            Fwrite.close ();
 
            P = p;
            CB = cB;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2013, 19:41     Работа с файлами
Посмотрите здесь:

Работа с файлами - C++
Помогите пожалуйста с этой задачей: даны файлы f и g, компоненты которых являются целыми числами. Записать в файл h сначала компоненты...

работа с файлами - C++
Помогите пожалуйста. Нужно составить программу, которая читает текстовый файл и в каждой строке все слова размещает в алфавитном порядке....

Работа с файлами - C++
Хотелось бы разобраться как работать с файлами. Придумал программу самую простенькую, хочу загнать ее в файл. #include &lt;stdio.h&gt; ...

Работа с файлами - C++
Программа полностью рабочая. Кроме одного момента. #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;clocale&gt;...

работа с файлами - C++
мне бы надо на C........... помогите пожалуйста, а то чет не могу разобраться #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include...

Работа с файлами - C++
Добрый день! Помогите, пожалуйста с задачей -- я в С++ совсем чайник. Просто хотя бы подскажите каким методом делать или пример...

Работа с файлами - C++
Здравствуйте! Подскажите какие нибудь сторонние библиотеки для работы с файлами. Мне нужно реализовать систему сохранения/загрузки данных,...

работа с файлами - C++
Подскажите, как в текстовом файле напечатать все строки, длина которых равна заданному числу?

Работа с файлами - C++
Открыть каталог, проверить файлы на обычность, проверить в именах файлов наличие знака $, и если он есть заменить на размер файла. ...

Работа с файлами в С++ - C++
Дан текстовый файл. Нужно напечатать все строки, длина которых равна заданному числу.

Работа с файлами - C++
Задание : напишите программу, которая объединяет возможности программ “Добавление в файл” и “Поиск по файлу”. При запуске программы на...

Работа с файлами - C++
В исходном текстовом файле есть float – числа в формате с фиксированной точкой (5 знаков после запятой). Создать новый файл из...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Salvators
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 13
13.10.2013, 19:43  [ТС]     Работа с файлами #2
Вот сам проект. Очень нужна ваша помощь))
Вложения
Тип файла: rar MZSKI_2.rar (2.61 Мб, 4 просмотров)
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2013, 23:40     Работа с файлами #3
Цитата Сообщение от Salvators Посмотреть сообщение
Проблема в том, что: значения которые я получаю из файла - они типа char, использованный шифр Эль-Гамаля работает только с числами.
char - это тоже число, однобайтовое.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru