Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 7

Шифрование файлов, аналог gnupg

07.09.2017, 23:22. Показов 1530. Ответов 5

Студворк — интернет-сервис помощи студентам
есть код и работает вроде как нормально. но. после преобразования туда и обратно, в текстовом файле появляются неизвестные символы типа "\00\D"они выделены на картинке красным или каких-нибудь иероглифов. преподаватель просил это убрать, но как убрать, что бы работало и шифрование - не знаю( вдруг кому нужен код - в архиве gotov.rar
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.09.2017, 23:22
Ответы с готовыми решениями:

Шифрование, криптография (MD5 и аналог функции РНР: crypt()
Всем большой привет! Суть темы: приложение, в момент инсталляции генерирует нового пользователя на сайте технической поддержки, путем...

Шифрование файлов
Есть задача зашифровать все файлы определенного расширения на компьютере. Погуглил, нашел модуль (прикреплен ) к нему прилагался пример...

Шифрование файлов
Как сделать чтобы при нажатие на Qpushbutton шифровались файлы в текущей директории, скажем AES шифром? И все это в linux среде должно быть

5
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
08.09.2017, 20:08
Будет достаточно такого исправления в A5.c:
C
1
2
3
4
5
6
7
8
    file = fopen(argv[1], "r+");
    while ( (blockcount=fread(block, 1, sizeof block, file)) ) {
        A5(block, blockcount, buffer, sizeof buffer);
        fseek(file, poswrite, SEEK_SET);
        fwrite(buffer, 1, blockcount, file);
        poswrite = ftell(file);
    }
    fclose(file);
Тем не менее, успешность fopen(), fwrite() тоже нужно проверять...

Добавлено через 3 минуты
Было бы целесообразно сперва писать шифрованное в отдельный файл и только в случае успеха заменять исходный файл шифрованным.

Добавлено через 3 минуты
Еще одно замечание -- не нужно делать строк в 693 колонки, пользуйтесь тем, что Си склеивает несколько строк, идущих подряд:
C
1
2
3
4
5
6
7
    char helptext[] = "\n\n"
        "Как запустить программу?\n\n"
        "Чтобы запустить программу, после :-$ пишем "
        "путь к программному файлу, к текстовому файлу и ключ.\n"
        "Пример:\n\n/home/ubuntu/A5 /home/ubuntu/text.txt ghost\n"
...
        "Всё просто :)\n\n" ;
0
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 7
08.09.2017, 21:37  [ТС]
вопрос... такое исправление в А5.с, какие вы написали нужно вставить вместо вот этого всего ? или только часть из-за этого?

просто я попробовала заменить весь, и между шифрованием и дешифрованием открыла текстовый файл и он не был никак изменён... или я чего-то не понимаю? объясните, пожалуйста( может как раз как-то проверить, то что вы сказали...
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
08.09.2017, 22:27
Лучший ответ Сообщение было отмечено Juliette как решение

Решение

Действительно, недостаточно, Акелла промахнулся:
C
1
2
3
4
5
6
7
8
9
10
11
12
    file = fopen(argv[1], "r+");
    while (1) {
        fseek(file, posread, SEEK_SET);
        blockcount = fread(block, 1, sizeof block, file);
        if (!blockcount) break;
        posread = ftell(file);
        A5(block, blockcount, buffer, sizeof buffer);
        fseek(file, poswrite, SEEK_SET);
        fwrite(buffer, 1, blockcount, file);
        poswrite = ftell(file);
    }
    fclose(file);
0
0 / 0 / 0
Регистрация: 06.06.2015
Сообщений: 7
08.09.2017, 23:19  [ТС]
Боженьки, что ж Вы мне раньше-то не попадались! ОГРОМНОЕ Вам спасибо Можно будет Вам написать еще, если понадобиться снова что-то подправить в этом проекте?))
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
09.09.2017, 07:19
Что еще имеет смысл поправить в первую очередь написано выше — добавить обработку ошибок файловых операций (открытия, чтения, записи, закрытия — ага, сюрприз, тоже может сфейлить, так хотя б проинформируете).
А писать по делу — кто ж вам запретит, это ж форум.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.09.2017, 07:19
Помогаю со студенческими работами здесь

Шифрование файлов
Здравствуйте. Подскажите пожалуйста, где можно почитать про методы шифрования файлов (любых файлов, НЕ текста) или расскажите сами. ...

шифрование файлов
интересуют такие вопросы - 1) какая разница по скорости обработки простого php файла и зашифрованного? 2) какую лучше всего программу...

Шифрование файлов
Добрый вечер! Представим такую ситуацию. Есть файл, который содержит конфиденциальную информацию. Этот файл часто редактируется....

Шифрование файлов
Помогите такая проблема Зашифровал файлы и после переустановки винды они стали недоступны. Очень нужно вернуть файлы плз!

Шифрование файлов в Perl
Мне нужно чтобы Perl шифровал некоторые файлы. Облазил Гугл, куча ссылок на всякие встроенные модули шифрования, но все через сертификаты,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru