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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2013, 14:48   #1
Neksion
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 29
По умолчанию Шифрование мультимедийных файлов в Delphi 7

Здравствуйте!
У меня есть собственная программа типа "Домашняя видеотека". Она представляет собой приложение содержащее в себе БД по фильмам, хранящихся на диске(базы надо заполнять самому при добавлении фильма его характеристиками: жанр, режиссер, снявший его и тд).
Интересует меня следующее: как можно сделать так, чтобы при добавлении нового фильма(по кнопке "Добавить") в программе файл, содержащий в себе сам фильм(*.avi,mpg4 и тд), шифровался таким образом, чтобы открыть фильм на просмотр можно было только из самой программы(кнопкой "Посмотреть фильм", при которой файл дешифровался и открывался программой по умолчанию(KMPlayer)). То есть, если бы кто то пытался посмотреть фильм, не включая программу, то у него бы ничего не получилось.
Как то более-менее объяснил суть проблемы. Интересуют методы, как можно обеспечить такую возможность в программе, но знаний недостаточно.
Помогите, пожалуйста, советом что делать, что почитать.
Заранее спасибо!

Последний раз редактировалось Neksion; 07.02.2013 в 15:24.
Neksion вне форума Ответить с цитированием
Старый 07.02.2013, 18:47   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Масса самых разных вариантов:
- проксорить чем-нибудь тело файла или хотя бы его заголовок,
- применить нестандартный заголовок илир контейнер,
- раскидать файлы по кусочкам, при этом программа будет как раз собирать их из кусочков и воспроизводить,
- слить все файлы в один большой файл, а программа будет извлекать нужный фрагмент из этого файла,
...
s-andriano вне форума Ответить с цитированием
Старый 08.02.2013, 00:15   #3
Vadik(R)
Пользователь
 
Регистрация: 10.03.2008
Сообщений: 68
По умолчанию

Для более серьёзных алгоритмов смотри Crypto API
Vadik(R) вне форума Ответить с цитированием
Старый 08.02.2013, 13:34   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

А вот "более серьезные алгоритмы" я бы использовать не советовал, т.к. они будут потреблять значительную часть ресурсов компа. Видео - это огромные объемы информации, а Crypto API рассчитан на шифрование в основном коротких текстовых фрагментов.
s-andriano вне форума Ответить с цитированием
Старый 11.02.2013, 06:17   #5
Neksion
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 29
По умолчанию

Спасибо за ответы!
Больше всего заинтересовал этот метод:
Цитата:
Сообщение от s-andriano Посмотреть сообщение
- слить все файлы в один большой файл, а программа будет извлекать нужный фрагмент из этого файла,
Каким способом его осуществить или каким компонентом надо воспользоваться?
Тут на форуме нашел еще что-то про создание собственного плеера, который будет встроен в саму программу и воспроизводить зашифрованные файлы.
Neksion вне форума Ответить с цитированием
Старый 11.02.2013, 08:37   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Neksion, а можно немножко пооффтопить?

А расскажите, пожалуйста, для чего вы это вообще затеяли?
Если я правильно понял то, что Вам нужно, то Вам достаточно взять любой криптоконтейнер (программу, создающую зашифрованный диск, TrueCrypt, например) и хранить всё свои данные в нём. С точки зрения вашей программы и любых плееров, всё, что находится на этом диске - обычные файлы, их можно воспроизводить любым удобным способом/плеером. Но это только в том случае, если введён мастер-пароль и диск подключён к системе. Без пароля этот контейнер для "хакера" бесполезный набор байт...

Ещё, как вариант, можно хранить видеофайлы в архиве с паролем и извлекать из по мере необходимости. Разумеется, такой вариант очень уязвим..

Всё зависит от того, что и от кого Вы защищаете.


p.s. писать свой плеер - дело весьма и весьма непростое, особенно учитывая поддержку различных форматов (контейнеров - AVI, MKV, MPEG), различных кодеков, наличия субтитров и множества звуковых дорожек...
Я бы, например, не взялся...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.02.2013, 12:16   #7
Neksion
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 29
По умолчанию

Цитата:
А расскажите, пожалуйста, для чего вы это вообще затеяли?
Изначально заданием было создание простой программки. Я выбрал создание видеотеки. Теперь пришло время делать курсач. Ничего хорошего не придумал, поэтому, как подсказали, решил улучшить свою программу.
Цитата:
Всё зависит от того, что и от кого Вы защищаете.
Защищаю от простых пользователей, для которых программирование - темный лес)
Например, чтоб дети не могли смотреть "взрослые" фильмы без разрешения родителей.
Neksion вне форума Ответить с цитированием
Старый 11.02.2013, 12:40   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

А, ну, если курсач - тогда можно и поизвращаться, всё равно это на практике слабоприменимо!

Цитата:
Например, чтоб дети не могли смотреть "взрослые" фильмы без разрешения родителей.
ну, во-первых, они эти фильмы легко в интернете онлайн посмотрят. Хотя бы на том же утубе...
а во-вторых, на папке правой кнопкой мышки - пункт "Безопасность" и отбирайте права у тех, кому в этой папке делать нечего! (разумеется, у детей в этом случае должны быть учётные записи с ограниченными правами, не администраторы).

впрочем, это я уже лишнее пишу. Раз Вам нужно сделать курсовик, то настройка безопасности/прав доступа Вам ни к чему!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.02.2013, 18:53   #9
Neksion
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 29
По умолчанию

Цитата:
А, ну, если курсач - тогда можно и поизвращаться, всё равно это на практике слабоприменимо!
Подскажите тогда, пожалуйста, что будет действительно полезным.
Neksion вне форума Ответить с цитированием
Старый 18.02.2013, 10:55   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Подскажите тогда, пожалуйста, что будет действительно полезным.
ну, много что можно придумать..

во-первых, я бы обратил внимание на ближайших "конкурентов":
Ant Movie Catalog
All My Movies
посмотрите, какие "фишки" есть в этих каталогах.

во-вторых, "на вскидку" я бы Вам рекомендовал добавить такие возможности:
возможность пароль вход в саму видеотеку.
при добавлении фильма считывать характеристики видеофайла и автоматически заполнять нужные поля
при добавлении фильма делать запрос в интернет-каталогах (например, на kinopisk.ru) и получать информацию о фильме (год, страна, режиссёр, актёры и т.д. и т.п.)
Давать возможность хранить обложку(обложки) фильма.
Давать возможность делать скриншоты, которые хранить в БД.
Вести учёт отданных дисков (база должников)

отчёты (формирование фильмов по актёру, режиссёру, стране, году выпуска, жанру и т.д. в различных сочетаниях), надеюсь, у Вас уже есть?!...

ну и т.д. и т.п....
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифрование текстовых файлов Delphi Zaozaa Помощь студентам 2 16.12.2011 07:28
Шифрование файлов любого формата Svetlana750231 Visual C++ 9 21.04.2011 16:01
Шифрование файлов на ассемблере Макс Сергеевич Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 07.04.2011 19:16
Шифрование файлов romec1 Общие вопросы C/C++ 1 21.04.2010 16:38
Сетевая папка + шифрование файлов FCSM Общие вопросы Delphi 0 19.04.2010 16:35