Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Базы данных > Защита данных базы!


Автор: Гость_Denis 28.9.2005, 15:46
Всем добрый день!

Знающие люди помогите!
Чтобы не мучаться, и не делать пустую работу, скажите:

Можно ли базу *.mdb или *.xls подвергнуть криптографии(DES)?

Если Да, то расскажите принцип выдергивания данных из базы (алгоритм)!

Какие есть способы скрытия данных базы?

Просто готовый программный продукт будет распостраняться избранно и данные из базы любопытным видеть совсем не обязательно!!!

Хотелось бы узнать мнения бывалых программеров,
ссылки на интересные материалы по данным вопросам,
и конечно же smile !

Автор: En_t_end 29.9.2005, 13:33
Цитата
Если Да, то расскажите принцип выдергивания данных из базы (алгоритм)!

Есть, как мне кажется два способа...
1. Заведомо заносить в базу данные подвергнутые шифрованию.
2. Шифровать сам носитель или исходник базы данных.

2-ой Способ значительно проще выполнить в связи с вашим условием(как я понимаю, проект уже завершен). Берется любая наиболее быстрая и проверенная библиотека шифрования, создается криптографический модуль, создаются уникальные ключи, ключи распространяются вашим клиентам. В вашем случае %%%%.mdb шифруется..... перед открытием клиентской программы запрашивается ключ, либо специальный электронный ключ, в виде com или usb девайса.
1-ый же способ удобнее реализовывать ещё на этапе зарождения проекта.

И теперь P.S. лично от меня... те кто уже съел собаку на защите и крупнейшие специалисты в области информационной защиты советуют разрабатывать защиту как раз на этапе зарождения проекта.

Автор: mo3art 30.9.2005, 09:36
база данных *.xls? ничего про такую не знаю... smile
про акцессовскую базу могу сказать:
открываешь её в аксессе и идёшь в Tools->Security->Set Password. Забиваешь пароль и закрываешь базу. Идёшь в Tools->Security->Encrypt/Decript выбираешь базу, вводишь свой пароль, сохраняешь... Правда шифрованая база по размерам не отличается от нешифрованой, так что сам понимаешь, шифрование там ещё то... но если надо "спрятать от посторонних глаз" то этого наверное достаточно. smile

Автор: En_t_end 30.9.2005, 13:39
mo3art
Цитата

Забиваешь пароль и закрываешь базу. Идёшь в Tools->Security->Encrypt/Decript выбираешь базу, вводишь свой пароль, сохраняешь... Правда шифрованая база по размерам не отличается от нешифрованой, так что сам понимаешь, шифрование там ещё то... но если надо "спрятать от посторонних глаз" то этого наверное достаточно.

Тогда после каждого изменения базы в программе, будет требоваться её заново шифровать, ибо шифрование в данном случае не только детское, но и действует только на период с момента шифрования и до первого использования.

Автор: mo3art 30.9.2005, 17:12
Цитата
Тогда после каждого изменения базы в программе, будет требоваться её заново шифровать, ибо шифрование в данном случае не только детское, но и действует только на период с момента шифрования и до первого использования.

- откуда такая инфа? Кинь ссылкой... smile


Автор: En_t_end 1.10.2005, 09:15
mo3art
Ниоткуда... сам попробуй - создай простенькую базу с одной таблицей, сделай прогу, которая заносит, допустим две произвольные записи, зашифруй стандартным способ базу перед запуском проги, запусти, закрой и посмотри блокнотом источник базы - ни следа шифрования.... я уже замечаю во втором своем проекте такую фишку.

Автор: mo3art 3.10.2005, 14:58
Странная фишка... smile я перед тем как отправить ответ почти то-же самое проделал: зашифровал базу, открыл её в Акцессе и добавил строку. потом посмотрел двоичку, но строки в явном виде не нашёл... Будет время надо будет через АДО попробовать...

Автор: En_t_end 3.10.2005, 15:28
mo3art
Странно, ну тыды считайте предыдущие посты как ИМХО. Буду рыть у себя в настройках соединения.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)