Шифровка

  • 10
  • Недоступна
Придумать механизм шифровки/дешифровки. Программа запускается с одним из следующих наборов параметров: -e fileName fileOutputName -d fileName fileOutputName где: fileName - имя файла, который необходимо зашифровать/расшифровать. fileOutputName - имя файла, куда необходимо записать результат шифрова
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (102)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Евгений Ашкинадзе19 уровень, Минск
пятница, 18:27
Что-то смотрю тут все отнимали и вычитали, либо записывали наоборот. Я же хотел сделать простой алгоритм, который даже файл в несколько гигабайт быстро "зашифрует". Поэтому просто буфером в 8к проходился и внутри него по своему перемешивал байты между собой. При чём так, что бы повторное перемешивание не приводило к декодированию. Для декодирования годится только перемешивание в обратном порядке.
Alexey Tarakanov19 уровень, Москва
среда, 17:54
То чувство, когда задачи посложнее на самом деле даются гораздо легче основного блока и решаются мин за 10 с 1 попытки :) не мудрствовал сильно, шифровка: +1 к byte, дешифровка: -1. а благодаря прошлым урокам сразу отмел мысль что возможна проблема с превышением byte, тк при превышении он просто пойдет по второму кругу (128 -> 1, 129->2), поэтому можно как прибавлять, так и отнимать, логика одинаковая.
Эмиль Кан20 уровень, Москва
суббота, 14:17
Проверил, по второму кругу не пошло. Для того чтобы пошло, надо применить модуль (input.read() + encryptionStep) % 128
Alexey Tarakanov19 уровень, Москва
суббота, 19:32
Символ ~ согласно таблице это byte = 126. В коде вы прибавляете 50, то получаете 176 (или byte = -80), по вашей ссылке внизу есть расширение таблицы ascii, должен получиться символ ░, но тк вы используете кодировку windows-1251, то увидете это: ° (тык - внизу по этой ссылке соответствует тому, что вы получите у себя в IntelliJ IDEA). Что касается соединения моего примера с вашей задачей - попробуйте убрать %128 и +50 замените на +257. Это окажется тем же самым, как и +1. Ну или на +256, тогда вообще ничего не изменится.
while(input.available() > 0)
                output.write(input.read()+257);
Эмиль Кан20 уровень, Москва
суббота, 19:58
Спасибо!
Александр19 уровень, Казань
среда, 12:36
Интересно, можно такое расшифровать не зная алгоритма?
БгобизшчЩевЪТюъКьЮзщЬиеЭиХЮРцЮибжЩч#яѕбХХРавназжаа"гШвУлиамйж%АХЮУмпгдЮълшЯЭЧгТрАмйпзпЬиЦЯЦСдакжнЪжг$ю¶вЦЬюрмЫлгШйсабЭЯФъг)	јзкЪгЪЧЪЫаошгинд$ерЯпЬХсжп(ИжЩЮжЯЫаХпйшЯиЯЬЬШрЩяыёплзирЮдЮзЬЩЯЫнрео)ЙЩгдоТХежпкилжбддбФЯамщж(»вЫжзЯЦлмижиЯлжиЭлЫЫУЯк)	ВЫЧвЯШгЮЮиеунедЦШвгЯмЩ•
ЅлЮЩигдЫдТдпвзйЬиевХа!яыВъожЫаЮру0ЦШдбХмЮьѕЯЪШ#яѕбвЭпЕвЮалзЪЧгдЮТэ	БнкзигажхоЬЬЫгамзмжЭШЦ!эГЭХюпщ(зЩЮЫбЯсаанйезЫ(
Иван22 уровень, Санкт-Петербург
4 марта, 20:27
Можно шифровать через унарный оператор ~. В этом случае даже не нужен первый параметр.
Андрей Старжинский19 уровень, Киев
1 марта, 17:53
Шифромание по ключу или простая замена вам в помощь)
Aleksei Dobrovolskii20 уровень
25 февраля, 10:47
Ох уж эти break; Заметочка себе: аккуратнее, ***ть со switch надо быть!
Shamil20 уровень
21 февраля, 20:16
В место "-e","-d" написал "e", "d" Валька так наругалась добавил "-" и сразу же успокоилась так шо имейте в веду))
Демин Андрей20 уровень
21 февраля, 07:44
сделал тупо через иф метод шифровки выбрал самый очевидный, это запись файла наоборот
Antony.Glim26 уровень
18 февраля, 15:19
Хорошая задача! понравилась!
S3R3N1TY28 уровень, Санкт-Петербург
5 февраля, 14:07
Ну это вообще народ)) Вообщем запилил алгоритм все работает и решил я еще в конце шифровки дописать пару байтов в конец файла("encrypted"). Методом write("encrypted".getBytes()). Так вот что я только не делал- а байтов нету !! Разные файлы создавал, писать через буфер, объединял буферы- байтов все нету, думаю ну что за хрень !! Зашел в дебагер, там байты есть- жму далее построчно прохожу и что Я вижу : у меня в операторе switch[args[0]] не было break для case "-e" и он после того как все у меня зашифровал переходил на другой case тут же и там действия выполнял хахахах))) капец