Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2012, 09:44   #1
Madara88
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 15
По умолчанию работа с файлами

Здравствуйте! Помогите реализовать функцию для работы с файлами. Нужно чтобы программы работала в таком виде:
enter key: 123456789123456789 // по за просу ввести ключ мы его вводим, затем нажав на кнопку ввод появляется следующая строчка
enter src file name: d\a.txt // по запросу ввести имя исходного файла мы его вводим, после того как мы ввели имя файла должно произойти следующее:
1. программа загрузит файл в память;
2. затем содержимое файла должно считаться в буфер;
3. после того как вся информация из файла будет считана в буфер, мы должны будем ее расшифровать;
4. поскольку данная функция может работать только с информацией размер блоков которой равен 16, процесс расшифрование будет таким:
а. из буфера 1 считать информацию блоками по 16 в буфер 2
б. после того как информация из буфера 1 будет полностью считана в буфер 2, функция для записи в файла должна на жестком диске создать файл и записать туда информацию из буфера 2.
В результате процесс работы программы должен быть таким:
enter key:123456789123456789 // по запросу вводим 128 битный ключ чтобы расшифровать информацию
enter src file name: d:\a.txt // по запросу вводим имя исходного файла в котором находится зашифрованная информация. После этого запускается механизм расшифрования по тому принципу который был описан выше.
enter res file name: d:\a1.txt // по запросу вводим имя файла в котором будет находится расшифрованная информация.
между строчками с вводом исходно файла и расшифрованного файла должно отображаться за которое было выполнено расшифрование. функцию для подсчета времени желательно выполнить с помощью clock
enter src file name: d:\a.txt
время выполнения на CPU: 500 миллисекунд
enter res file name: d:\a1.txt
#include <stdio.h>
#include "rijndael.h"

#define KEYBITS 256

int main(int argc, char **argv)
{
unsigned long rk[RKLENGTH(KEYBITS)];
unsigned char key[KEYLENGTH(KEYBITS)];
int i;
int nrounds;
char password[80], fname[80];
printf("Enter key: "); // ввод 128-битного ключа
gets_s(password);
printf ("Enter src file name: "); // ввод файла, например d:\a.txt
gets_s(fname);
for (i = 0; i < sizeof(key); i++)
key[i] = *password != 0 ? (*password++) : 0;
input = fopen(fname, "rb");
if (input == NULL)
{
fputs("File read error", stderr);
return 1;
}
nrounds = rijndaelSetupDecrypt(rk, key, 256);
while (1)
нужные функции должны выполняться здесь
/*{
unsigned char plaintext[16];
unsigned char ciphertext[16];
int j;
if (fread(ciphertext, sizeof(ciphertext), 1, input) != 1)
break;
rijndaelDecrypt(rk, nrounds, ciphertext, plaintext);
fwrite(plaintext, sizeof(plaintext), 1, stdout);
}*/
fclose(input);
}
Madara88 вне форума Ответить с цитированием
Старый 13.12.2012, 14:22   #2
Perchik71
С++, Delphi
Форумчанин
 
Аватар для Perchik71
 
Регистрация: 24.11.2012
Сообщений: 495
По умолчанию

Зачем такой помой???
Код:
while (!feof(input))
{
  unsigned char plaintext[16];
  unsigned char ciphertext[16];
  int j;

  fread(ciphertext, sizeof(unsigned char), 16, input); // прочли 16 элементов типа unsigned char
     
  rijndaelDecrypt(rk, nrounds, ciphertext, plaintext);
  fwrite(plaintext, sizeof(unsigned char), 16, stdout); // записали 16... 
}*/
А вобще лучше брать по длине ключа....
Если помог, тут весы есть , Вам не сложно, а мне приятно.
Perchik71 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с файлами nastya2112 Паскаль, Turbo Pascal, PascalABC.NET 0 01.06.2011 20:16
Работа с файлами minasgull Помощь студентам 10 29.11.2010 01:01
Работа с файлами [MI_nor] Общие вопросы C/C++ 4 08.03.2009 17:50
Работа с файлами ФЁкЛА Общие вопросы C/C++ 8 26.02.2009 00:16
Работа с файлами на С++ nec117 Общие вопросы C/C++ 4 24.02.2009 23:18