|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.12.2012, 09:44 | #1 |
Пользователь
Регистрация: 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); } |
13.12.2012, 14:22 | #2 |
С++, Delphi
Форумчанин
Регистрация: 24.11.2012
Сообщений: 495
|
Зачем такой помой???
Код:
Если помог, тут весы есть , Вам не сложно, а мне приятно.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
работа с файлами | 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 |