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

Шифрование графического файла - C++

Восстановить пароль Регистрация
 
Adagio
0 / 0 / 0
Регистрация: 04.05.2012
Сообщений: 23
23.06.2012, 11:38     Шифрование графического файла #1
Здрасти..
Идея просто зашифровать считанный граф файл блочным симметричным алгоритмом.
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
int inf=1000000;
void __fastcall TForm1::Button5Click(TObject *Sender)
{
String s2,s1;
s1=Edit2->Text;
s2=Edit3->Text;
//FILE *fp1;
ifstream infile (s2.c_str(),ios::binary|ios::in);
if(infile.fail())
{
ShowMessage("ÏðîèçîøëГ* îøèáêГ* ïðè Г§Г*ãðóçêå ГЄГ*ðòèГ*ГЄГЁ");
}
int* file1=new int[inf];
infile.read((char*)file1,4);
int n1=infile.gcount();
//int n1=fread(file1,4,inf,fp1); 
ShowMessage("Ñ÷èòГ*Г*Г® int-ГЎГ*éò:");
ShowMessage(n1);
Blowfish obj;
obj.Set_Passwd(Edit4->Text.c_str());
DWords temp;
//////////////////////////
int* file2=new int[n1];//output stream
/////////////////////////
//FILE *fp2;
ofstream outfile (s2.c_str(),ios::binary);
///////////////////////////////////
for(int i=0;i<n1;i+=2)
{
temp.word0.word=file1[i];
temp.word1.word=file1[i+1];
obj.Encrypt((void*)&temp,8);
file2[i]=temp.word0.word;
file2[i+1]=temp.word1.word;
}
outfile.write((char*)file2,n1*4);
//if(fwrite(file2,inf,1,fp2)==1)
//{
//ShowMessage("ÑîçäГ*Г*ГЁГҐ ГґГ*éëГ* âûïîëГ*ГҐГ*Г® ГіГ±ГЇГҐГёГ*Г®");
//}
 
}
В разных местах периодически вылазят разношерстные ошибки,
чем лучше считать будет :через FILE или fstream?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
23.06.2012, 12:35     Шифрование графического файла #2
FILE лучше. ИМХО
Adagio
0 / 0 / 0
Регистрация: 04.05.2012
Сообщений: 23
23.06.2012, 20:30  [ТС]     Шифрование графического файла #3
а почему данный фрагмент както не пашет
C++
1
2
3
4
5
6
7
8
9
10
ifstream infile (s2.c_str(),ios::binary|ios::in);
if(infile.fail())
{
ShowMessage("ÏðîèçîøëГ* îøèáêГ* ïðè Г§Г*ãðóçêå ГЄГ*ðòèГ*ГЄГЁ");
}
int* file1=new int[inf];
infile.read((char*)file1,4);
int n1=infile.gcount();
//int n1=fread(file1,4,inf,fp1); //êîëâî ïðî÷èòГ*Г*ûõ ýëåìåГ*òîâ Г¤Г*Г*Г*ûõ
ShowMessage("Ñ÷èòГ*Г*Г® int-ГЎГ*éò:");
По идее, это должно работать, но нет(
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
23.06.2012, 20:34     Шифрование графического файла #4
Adagio, Телепатия подсказывает мне что что-то тут не то: int* file1=new int[inf];
Adagio
0 / 0 / 0
Регистрация: 04.05.2012
Сообщений: 23
23.06.2012, 21:07  [ТС]     Шифрование графического файла #5
=)) это с просторов интернета способ,просто константа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int inf=1000000;
void __fastcall TForm1::Button5Click(TObject *Sender)
{
String s2,s1;
s1=Edit2->Text;
s2=Edit3->Text;
//FILE *fp1;
ifstream infile (s2.c_str(),ios::binary|ios::in);
if(infile.fail())
{
ShowMessage("ÏðîèçîøëГ* îøèáêГ* ïðè Г§Г*ãðóçêå ГЄГ*ðòèГ*ГЄГЁ");
}
int* file1=new int[inf];
infile.read((char*)file1,4);
int n1=infile.gcount();
идейно, создается входной поток бинарный и связывается с файлом
после чего оттуда вроде бы считываются по 4 байта в этот массив,
кривовато выглядит
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
23.06.2012, 21:10     Шифрование графического файла #6
Adagio, Звиняй, но в потокая я тебе не помогу, т.к. не разбирался ибо небыло нужды. Лично я использую Сишные функции и не парюсь)
Yandex
Объявления
23.06.2012, 21:10     Шифрование графического файла
Ответ Создать тему
Опции темы

Текущее время: 03:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru