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

Шифрование любого типа данных - C++

Восстановить пароль Регистрация
 
stawerfar
 Аватар для stawerfar
141 / 55 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
03.04.2012, 08:23     Шифрование любого типа данных #1
Всем привет у меня вопрос по теории.
Написал консольное приложение которое изначально как я предполагал будет способно зашифровать текст в *.txt формате. В программе я использовал методы простой перестановки и виженера. Все написал, программа вызывается через консоль и принимает два аргумента : полный путь к файлу и ключевое слово.В программе я открываю файл вот так:
C++
1
2
3
char* chaddress;//адрес введенный пользователем
std::fstream file;//создать потоковый объект
file.open(chaddress,std::ios::in|std::ios::binary);
Так вот выяснилось что моя программа может шифровать любой файл будь то *.doc,*.docx,*.xls,*.vbn,mp3
ну видео я не пробовал так как в проге я учитывал что с текстом работаю и там идет муляж увеличение лишних символов в итоге шифрование музыки занимает около 1-1.5 минуты, а видео наверное будет дольше.
Объясните мне пожалуйста почему так происходит, почему шифруется любой файл? В каком виде открываются файлы?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MegaMozg
 Аватар для MegaMozg
44 / 44 / 1
Регистрация: 19.12.2008
Сообщений: 110
03.04.2012, 08:53     Шифрование любого типа данных #2
Цитата Сообщение от stawerfar Посмотреть сообщение
почему шифруется любой файл? В каком виде открываются файлы?
в каком виде открывается:
Цитата Сообщение от stawerfar Посмотреть сообщение
file.open(chaddress,std::ios::in|std::ios::binary);
бинарном вестимо, сам же указал binary

почему любой файл: что указываешь, то и открывает. расширение не о чем программе не говорит, она просто считывает байты и обрабатывает по твоему алгоритму
zss
Модератор
Эксперт С++
 Аватар для zss
5947 / 5552 / 1784
Регистрация: 18.12.2011
Сообщений: 14,184
Завершенные тесты: 1
03.04.2012, 08:56     Шифрование любого типа данных #3
Вы же сами написали std::ios::binary, т.е. двоичный режим,
в котором проверка наличия символьной разметки не проверяется.
Соответственно весь поток можно прочитать байт за байтом,
а что потом с ними делаете - ваше личное дело.
stawerfar
 Аватар для stawerfar
141 / 55 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
03.04.2012, 08:57  [ТС]     Шифрование любого типа данных #4
Всем спасибо!
Yandex
Объявления
03.04.2012, 08:57     Шифрование любого типа данных
Ответ Создать тему
Опции темы

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