С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 22.03.2019
Сообщений: 14

Не получается создать нужный цикл для XOR шифрования

01.07.2019, 15:44. Показов 1017. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Я нашел задание с шифрованием через XOR, там было сказано, что нужно сделать так, чтоб символы сравнивались с ключем, который меняет последовательность, то есть идет то в прямом, то в обратном направлении( Шифр - рфиШ и т.д.). Я никак не могу написать подходящий цикл. Можете помочь?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    char arr[ARR_LENGTH] = {"Самая большая проблема"};
    char key[KEY_LENGTH] = { "Шифр" };
 
    for (int i = 0; i < ARR_LENGTH; i++)
    {
        arr[i] ^= key[i % KEY_LENGTH];
        if (i % KEY_LENGTH == KEY_LENGTH - 1)
        {
            i += 1;
            for (int j = i; j < i + KEY_LENGTH; j++)
            {
                arr[j] ^= key[KEY_LENGTH - j % KEY_LENGTH - 1];
            }
            i + KEY_LENGTH;
        }
    }
    std::cout << arr << "\n";
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.07.2019, 15:44
Ответы с готовыми решениями:

Оператор для xor шифрования
Разматриваю пример шифрования, возник детский вопрос ^ что делает этот оператор?

Примеры XOR шифрования
Здравствуйте. Хотелось бы увидеть примеры XOR шифрования на C++, т.к. в интернете я не сильно много нашел (возможно плохо искал). Искал...

Повысить быстродействие XOR шифрования
Привет. Я было уже спрашивал по поводу данного кода, но теперь у меня другая проблема. Имею код: int main(int argc, char* argv) { ...

5
Заблокирован
01.07.2019, 15:50
Цитата Сообщение от Герман1 Посмотреть сообщение
i += 1;
запросто счетчик меняем?
Цитата Сообщение от Герман1 Посмотреть сообщение
i + KEY_LENGTH;
чего делает?
0
Злостный нарушитель
 Аватар для Verevkin
10256 / 5681 / 1264
Регистрация: 12.03.2015
Сообщений: 26,362
01.07.2019, 15:51
Мож вот так?
C++
1
2
char key[] = "ШифррфиШ";
unsigned KEY_LENGTH = strlen(key);
0
0 / 0 / 0
Регистрация: 22.03.2019
Сообщений: 14
01.07.2019, 23:33  [ТС]
Я думал, что нужно добавить к I единицу, чтобы два раза не выполнялось действие над одним и тем же символом(Например размер ключа - 5, во внешнем цикле выполняется действие над элементом ключа под индексом 4, переходит во внутренний цикл и продолжает со следующим элементом). А потом добавляю к I длину ключа, чтобы продолжить внешний цикл не с того же места, а с учетом пройденных элементов во внутреннем. Вообще это я так просто накидал, я думал, что может есть какой-то другой способ.

Добавлено через 1 минуту
Я тоже об этом думал, но, по-моему, это сильно просто
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
02.07.2019, 04:45
C++
1
2
3
    for (int i = 0; i < ARR_LENGTH; i++)
    {
        arr[i] ^= key[i % KEY_LENGTH];
это ж замечательно. А остальное тут зачем? Второй раз что-то ксорить? Чтобы ничего не изменилось что ли?
Цитата Сообщение от Герман1 Посмотреть сообщение
в обратном направлении( Шифр - рфиШ и т.д.). Я никак не могу написать подходящий цикл. Можете помочь?
Ах это... а не проще сразу сгенерировать ключ двойной длины "Шифр - рфиШ"?
0
0 / 0 / 0
Регистрация: 22.03.2019
Сообщений: 14
02.07.2019, 17:38  [ТС]
Я тоже об этом думал, но в задании нет четкого определения, вводить ли его так, либо же уже внутри кода он должен меняться туда-сюда.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.07.2019, 17:38
Помогаю со студенческими работами здесь

Реализовать алгоритм XOR-шифрования
Реализовать алгоритм XOR-шифрования одного символа. Рассмотреть беззнаковое целое как четыре упакованных символа (байта). Задать можно ...

Небольшая доработка кода шифрования XOR
Пожалуйста помогите!!!%-) голова кругом вот этот код работает: void __fastcall TForm1::Button1Click(TObject *Sender) { String s =...

Реализовать алгоритм xor-шифрования с использованием модуля algorithm
как можно с помощью функций модуля algorithm реализовать простой алгоритм xor-шифрования? просто в классе есть много переменных которые...

Создание программы шифрования текста путем гаммирования (XOR)
суть такова. Мне необходимо сделать программу с визуальным оформлением: 3 рич едита, 1 едит, 1 - отвечает за ввод текста, который...

Блочный алгоритм шифрования, который использует только xor
Я только начал учить криптографию в университете, прочитал про абсолютно криптостойкие системы (блокноты). Немного поразмыслил, в голове...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru