|
2 / 2 / 0
Регистрация: 17.11.2013
Сообщений: 96
|
|
Шифрование. Аргументы функции MAIN10.12.2013, 19:40. Показов 3999. Ответов 42
Метки нет (Все метки)
Привет всем
Нужна помощь... С++...Аргументы функции MAIN. Фраза шифруется следующим образом: после первых двух символов вставляется слог БУ,после следующих двух вставляется КА, это повторяется до тех пор, пока в фразе есть хотя бы две буквы. Например, фраза Я ОТ БАБУШКИ УШЕЛ Шифруется так: Я БУОТКА ББУАБКАУШБУКИКА УБУШЕКАЛ. Напишите функции для шифрации и дешифрации некоторого текста. Функции main в качестве аргументов командной строки передавайте kod для кодирования или dekod для декодирования текста. Программу запускайте с переназначением стандартного ввода на файл.
0
|
|
| 10.12.2013, 19:40 | |
|
Ответы с готовыми решениями:
42
Аргументы функции main() Аргументы функции main Аргументы функции main |
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 16.12.2013, 19:07 | |
|
При всём незнании языка, ты - единственный, кто это хоть как понимает, всем остальным пример одной короткой шифрокки не даёт вообще ничего.
0
|
|
|
2 / 2 / 0
Регистрация: 17.11.2013
Сообщений: 96
|
|
| 16.12.2013, 19:12 [ТС] | |
|
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 16.12.2013, 19:13 | |
|
Для всех, кроме тебя, это вообще не возможно, так как ты не объяснил шифра.
0
|
|
|
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
|
||
| 16.12.2013, 19:16 | ||
|
А для дешифрования - просто выкинуть символы в позициях 3, 4, 7, 8, 11, 12 и т. д. Но у меня нет желания это писать.
0
|
||
|
2 / 2 / 0
Регистрация: 17.11.2013
Сообщений: 96
|
||
| 16.12.2013, 19:18 [ТС] | ||
|
Фраза шифруется следующим образом: после первых двух символов вставляется слог БУ,после следующих двух вставляется КА, это повторяется до тех пор, пока в фразе есть хотя бы две буквы. Например, фраза Я ОТ БАБУШКИ УШЕЛ Шифруется так: Я БУОТКА ББУАБКАУШБУКИКА УБУШЕКАЛ. Напишите функции для шифрации и дешифрации некоторого текста. Функции main в качестве аргументов командной строки передавайте kod для кодирования или dekod для декодирования текста. Программу запускайте с переназначением стандартного ввода на файл.
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 16.12.2013, 19:18 | |
|
Далеко не факт, что там такой примитив.
0
|
|
|
2 / 2 / 0
Регистрация: 17.11.2013
Сообщений: 96
|
||
| 16.12.2013, 19:21 [ТС] | ||
|
0
|
||
|
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
|
|
| 16.12.2013, 19:21 | |
|
Возможно и не такой, но описано именно так. И примеру соответствует.
PS: При реализации надо не забыть, что файл не обязан состоять из чётного числа символов. Дополнительно можно вспомнить, что в текстовом режиме последовательность "\r\n" заменяется на "\n" при чтении и записи, так что видимо она будет считаться за 1 символ. Перевести входной потой в бинарный режим ведь не получится без его переоткрытия, а переоткрытие поломает перенаправление, верно?
0
|
|
|
2 / 2 / 0
Регистрация: 17.11.2013
Сообщений: 96
|
|||
| 16.12.2013, 19:25 [ТС] | |||
|
Т.к. Я новичок, я не могу справиться сам... Добавлено через 2 минуты
0
|
|||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 17.12.2013, 07:58 | |
|
Не по теме: Я начинал с ксорки. Она и в реализации проще, и вскрыть её, даже зная алгоритм, сложно. Ксорка - шифр битовых манипуляций, основанный на операции исключающее или. Простейшая ксорка есть применение исключающего с однобайтным ключом для каждого байта сообщения. Но такой вариант вскрывается на примере шифра одного байта: достаточно применить ту же операцию к исходному байту с шифрованным и получишь ключ. Более надёжную защиту обеспечивают длинные ключи с выборкой фрагмента ключа. Но накладывать ксорки с ключами равной длины, фрагменты которых чередуются по одному алгоритму, бесполезно: вся цепочка ксорок будет эквивалентна одной, ключ которой есть шифр остальных ключей друг другом. Если применять только ксорку, то она должна обеспечить стойкость за один раз, или она не годна. Но можно комбинировать её с перестановочными шифрами. Простейшим перестановочным шифром является скитала. Для скиталы применяется двумерный массив, линерализуемый дважды с разным порядком индексов. Массив заполняется исходным сообщением, или фрагментом сообщения фиксированного размера, при дефиците символов сразу за последним символом пишется терминальный, оставшиеся элементы заполняются мусором. А потом из этого массива читается шифрованная версия сообщения. Причём, при заполнении массива он линерализуется с одним порядком индексов, а при чтении оттуда шифрованной версии с другим. Например, можно при заполнении массива считать первый индекс младшим, а второй старшим, а при чтении наоборот. А можно при заполнении первый индекс считать старший, второй младшим, а при чтении шифрованной версии наоборот. Пусть используется массив s[N][M], обозначим k индекс линерализованного массива, i - первый индекс, j - второй. Тогда имеем две формулы: k=i+j*N (первый индекс младший, второй старший) и k=i*M+j (первый индекс старший, второй младший). При заполнении массива юзается одна, при чтении шифрованной версии другая. При расшифровке такой же массив заполняется шифрованной версией сообщения, а потом из него читается расшифрованная, при этом применяются те же самые две формулы линерализации, но в обратном порядке. Это тоже простой, но трудно вскрываемый шифр. Даже зная алгоритм, его сложно вскрыть, нужны точные размеры массива и порядок индексов при заполнении массива исходным сообщением. К сожалению, скитала может быть вскрыта на примере достаточно длинной шифровки, к которой есть исходное сообщение. А при ещё большей длине даже без исходного сообщения. Но не так просто, как ксорка. Теоретически не вскрываемы только шифры, чьи ключи содержат как минимум столько же информации, сколько её с их помощью шифруется. Добавлено через 5 минут Не по теме: Я сочинил свой перестановочный шифр, сейчас уже не помню алгоритма, но там новая позиция байта вычислялась по формуле и при попадании на уже занятую байтом шифромессаги позицию производилось повторное вычисление новой позиции. Шифрование завершалось вставной последнего байта в последнюю не занятую позицию. При расшифровке аналогичным образом шифровался мусор равного размера и после шифрования каждого мусорного байта декодер сначала копировал байт шифромессаги в выходной буфер и только потом переходил к следующему байту мусора. Добавлено через 2 минуты Не по теме: И это был алгоритм шифрования с ключом.
0
|
|
| 17.12.2013, 09:29 | |||||||
0
|
|||||||
|
2 / 2 / 0
Регистрация: 17.11.2013
Сообщений: 96
|
|
| 17.12.2013, 16:13 [ТС] | |
|
Ну помогите... Ну пожалуйста...
0
|
|
|
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
|
|
| 17.12.2013, 19:55 | |
|
Kostia1012, что-то я не наблюдаю какой-то реальной активности с вашей стороны. За неделю, с момента создания темы, хоть какие-то попытки решить задачу у вас были? Хотя бы тот пример, который вам привели вы разобрали и запустили программу? Где вопросы по теме?
И определитесь с тем, что собираетесь использовать для работы с текстом char[] или std::string(используя std::string решить задачу будет проще).
0
|
|
|
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
|
||
| 17.12.2013, 20:32 | ||
|
0
|
||
|
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
|
||
| 17.12.2013, 21:43 | ||
И как вы собираетесь всё это дело потом дешифровывать? В условии задачи речь идёт, как я понимаю, о шифрации и дешифрации фразы(для простоты можно считать, что имеется в виду строка). Как вы предлагаете на лету, определять зашифрована фраза или нет, удалять все соответствующие слоги, что под руку поподут?
0
|
||
|
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
|
|||||||||
| 17.12.2013, 21:59 | |||||||||
0
|
|||||||||
|
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,894
|
|||||||||||
| 18.12.2013, 01:55 | |||||||||||
|
Одно из возможных решений для латиницы:
0
|
|||||||||||
|
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
|
|||
| 18.12.2013, 10:04 | |||
|
Не по теме: Нашёлся любитель паттернов... И не лень столько писать вместо пары простых функций. ![]()
0
|
|||
|
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
|
|||||
| 18.12.2013, 16:04 | |||||
0
|
|||||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||
| 18.12.2013, 16:27 | ||
|
Интерфейс IState с методом doWork, который теоретически может означать все что угодно - это тот еще номер. Желание свести классы кодера и декодера к одному интерфейсу как минимум надуманое. В остальной код не вчитывался.
0
|
||
| 18.12.2013, 16:27 | |
|
Аргументы функции main аргументы функции main Аргументы для функции main()
Аргументы командной строки в функции main Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2.
Задача: контроль уникальности строк в. . .
|
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
|
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
|
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
|
|
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
|
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
|
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока
Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
|
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов
• Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp
• Смежный проект:. . .
|