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

ошибка в шифровании - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Экспоненциальная функция http://www.cyberforum.ru/cpp-beginners/thread322413.html
Добрый день, необходимо запрограммировать функцию 1-exp(-at) Основной вопрос как описать экспоненту ? Простенькие задачки без экспоненты разобрался как сделать, а вот когда добавляю exp в...
C++ не могу разобраться с typedef помогите разобраться typedef задает синоним типа только? например: typedef int myint; тут понятно все, вместо int можно писать myint а если написать http://www.cyberforum.ru/cpp-beginners/thread322401.html
Структуры в С++ C++
Добрый вечер, не могли бы кто нибудь мне помочь написать код программы, следующего задания: Описать структуру с именем ZNAK содержащие следующие поля: -фамилия и имя -знак зодиака -дата...
C++ cin.getline
Здравствуйте. Есть вот программа: #include <iostream> // #include <cmath> // #include <conio.h> // // using namespace std; // /////////////////////// int main()
C++ ссылки http://www.cyberforum.ru/cpp-beginners/thread322394.html
как здесь привести к интовому виду,чтобы выдавало 100? # include <iostream> using namespace std; void f(int &i) { i = 100; }
C++ нужно перевести с Паскаля на С++ Найти в массиве: 1) сумму элементов с нечётными номерами 2) Сумму элементов между первым и последним отрицательными элементами 3) в массиве отрицательные элементы заменить нулями и переставить в... подробнее

Показать сообщение отдельно
grizlik78
Эксперт С++
1963 / 1456 / 118
Регистрация: 29.05.2011
Сообщений: 3,014
19.06.2011, 12:28
Ошибка в использовании функций и конструкций для работы с ASCIIZ-строками, вроде
C++
1
2
3
4
5
return string(encrypted)
//...
strlen(text) // для ШТ по-крайней мере
//...
b.c_str()
В этих строках нулевой байт является признаком конца строки. Проблема в том, что для шифрованного текста (ШТ) нулевой байт может появляться где угодно совершенно легально.
Возможно в качестве контейнера логичнее использовать vector<char>. В принципе и string подойдёт, но для создания из символьного массива тогда надо использовать интервальный конструктор, вроде string(encrypted, encrypted+size)
Ну а выводить ШТ на экран в сыром виде вообще мало смесла. Его можно либо преобразовать в текстовое 16-ричное представление, либо использовать какой-нибудь другой подходящий код (например, base64).

Добавлено через 1 минуту
И в общем случае, нулевой байт может встречаться и в исходном блоке, если зашифровывается нетекстовая информация.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru