Имя: Пароль:
IT
 
XORю, понемножку, иногда прихрамываю...
,
0 Vorchun
 
05.03.16
01:31
Написал ксорительную функцию на 1С. Результатом шифрования получаю одним из символов "перевод строки" или что-то в этом духе. Получается многострочная строка. Вопрос: как ее пихнуть без потери символов в строку?
Почему обычная строка не может принять перевод строки как кракозябру какую-нибудь?
1 Чайник Рассела
 
05.03.16
01:35
Символы.ПС так?
2 Vorchun
 
05.03.16
02:07
(1) alt-182.  не уверен что это символы.пс... кажется это начало новой строки с переводом каретки.
3 Злопчинский
 
05.03.16
02:09
0d0a
4 mistеr
 
05.03.16
03:03
(0) >Получается многострочная строка.

И в чем проблема с ней?
5 Vladal
 
05.03.16
07:29
(0) ВСтроку64, ИзСтроки64
6 Vladal
 
05.03.16
07:30
(4) Многострочную строку не вставишь в адрес браузера и не получишь картинку, например.
7 Vorchun
 
05.03.16
08:38
(5) так оно ж другой длины может получиться! А ксорю я как раз для сохранения длины строки.
8 Vorchun
 
05.03.16
11:01
uppppp
9 Vorchun
 
05.03.16
12:05
Реально идей нет больше?((( Или все после тяпницы?)
10 Vorchun
 
05.03.16
12:40
(3) Злопчинский, это символ(3338)??
Почему он?
11 romix
 
05.03.16
14:16
Я в свое время делал компоненту для шифрования RC6:
http://x-romix.narod.ru/RC6.rar
RC6.rar (237K) - Внешняя компонента для работы с шифрованием RC6
12 Rie
 
05.03.16
14:19
(0) 2 байта. 0d - CR, 0a - LF.
13 Garykom
 
гуру
05.03.16
14:30
XOR-ительная функция неправильно написана.
Нужно было только над множеством "печатных символов" издеваться, не трогая совсем "непечатные символы".
14 Vorchun
 
06.03.16
19:08
(13) попробуй проксорить "и" ключом "а". получаешь как раз Символы(182)..
15 Vorchun
 
06.03.16
19:16
(11) Если не ошибаюсь этот алгоритм дает в результате строку бОльшей длины. Для меня это не подходит..
16 vde69
 
06.03.16
20:42
(14) кто тебе мешает запретить использовать ключ "а" ???

а вообще у задачи есть 2 решения
1. научится хранить результат любого вида (например в двоичных данных)
2. не допускать результат который мы не можем хранить...

пункт 2 ты отвергаешь (тебе предлагали и басе64 и т.д.)
пункт 1 ты то же отвергаешь...

для сабжа нужно сменить алгоритм шифрования с "хор" например на перестановочный шифр, например "Шифр «поворотная решётка»"
17 Woldemar177
 
06.03.16
20:51
Зачем шифровать по xor? Он открывается на раз-два.
18 Garykom
 
гуру
06.03.16
20:52
(16) нет ничего проще из надежного -  обычных шифроблокнотов с таблицами замен символов
19 Vorchun
 
09.03.16
11:23
(17) при разных ключах тоже???
20 Garykom
 
гуру
09.03.16
11:36
(19) почитай про статистические методы вскрытия простых шифров
21 vde69
 
09.03.16
11:45
(19) у статических шифрах очень низкая лавинообразность... а у хоров ее считай нет вообще...

простой хор вскрывается вообще на раз....

(20) сейчас вообще начали юзать нейронные вычисления с набором все возможных простых операциях на слоях, то есть для таких программ достаточно более менее приличного массива ИсходныйТекст-ЗашифрованыйТекст и она гарантировано подберет алгоритм и все ключи для любых однозначных шифров...

эта тема сравнительно недавно началась, всего несколько лет.... например яндекс подобное использует для поиска похожих картинок....
22 Garykom
 
гуру
09.03.16
11:47
(21) да читал про такое, но для нормальной по скорости реализации домашнего компа уже маловато. кластер серверов нужен

хотя где то видел про реализацию на CUDA или подобных графических
23 vde69
 
09.03.16
11:52
(22) я про другое, там слои сделаны на ФИЗИЧЕСКОМ уровне,

то есть первый слой обрабатывается матрицей 10х10 ядер и так далее...

там очень наворотили... целые кластеры строят для обучения, а потом готовые подобранные алгоритмы пихают в софт и через обновления уже распределяют куда надо...

например так гугл обучает свои автомобили....
24 Garykom
 
гуру
09.03.16
11:55
(23) это уже офигеть как дорого, свои "спецпроцессоры"
25 Woldemar177
 
09.03.16
12:57
(19) Издеваешься?
Был такой кирпич - товары и цены, иногда шел вместе с лазерным диском. Ценная информация была зашифрована по XOR. Было поле email. На вид был виден символ повторяющийся и смахивающий на @. XOR c @ дал ключ. И всё.
26 Garykom
 
гуру
09.03.16
13:00
(25) он подразумевал что каждый EMAIL своим ключом зашифрован, тогда уже сложнее
но вопрос где эта туча ключей лежит? и каким образом зашифрована?
или ключи динамически формируемые/восстанавливаемые и какой алгоритм?
27 Woldemar177
 
09.03.16
13:04
(26) Какой ключ? Я так думаю он одним символом хорит.
Шифрование по XOR , извини т.с. но это шифрование для идиотов. Строй дерево Хофмана, заодно - сжиматься у тебя строки будут ;))))
28 Garykom
 
гуру
09.03.16
13:06
(27) эээ по XOR можно же не 1 байтом шифровать а длинным ключом сразу несколько байтов
29 Woldemar177
 
09.03.16
13:07
(28) Можно, но ТС еще больше запутается.
30 Garykom
 
гуру
09.03.16
13:11
(29) алгоритм Хаффмана тогда еще сложнее освоить
31 Garykom
 
гуру
09.03.16
13:13
(30)+ хотя моя его и другие способы сжатия данных 5-ти классникам объяснял на курсах информатики, и ничего примерно половина понимала спокойно
32 Лефмихалыч
 
09.03.16
13:22
Глобальный контекст (Global context)
КодироватьСтроку (EncodeString)
Синтаксис:

КодироватьСтроку(<Строка>, <СпособКодированияСтроки>, <КодировкаСтроки>)
Параметры:

<Строка> (обязательный)

Тип: Строка.
Кодируемая строка.
<СпособКодированияСтроки> (обязательный)

Тип: СпособКодированияСтроки.
Способ кодирования строки.
<КодировкаСтроки> (необязательный)

Тип: Строка.
Кодировка, в которую преобразуется строка перед кодированием.
Значение по умолчанию: UTF8.
Возвращаемое значение:

Тип: Строка.

Описание:

Кодирует строку в соответствии с выбранным способом кодирования.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Пример:

Стр1 = КодироватьСтроку("http://tools.ietf.org/папка/rfc2822&quot;,
                СпособКодированияСтроки.КодировкаURL);
Стр2 = КодироватьСтроку("http://tools.ietf.org/папка/rfc2822&quot;,
                СпособКодированияСтроки.URLВКодировкеURL);
Стр3 = РаскодироватьСтроку(
                "wiki:Шар&quot;,
                СпособКодированияСтроки.КодировкаURL);

Сообщить(Стр1);
Сообщить(РаскодироватьСтроку(Стр1,
                СпособКодированияСтроки.КодировкаURL));
Сообщить(Стр2);
Сообщить(РаскодироватьСтроку(Стр2,
                СпособКодированияСтроки.КодировкаURL));
Сообщить(Стр3);
Сообщить(КодироватьСтроку(Стр3,
                СпособКодированияСтроки.URLВКодировкеURL));


См. также:

СпособКодированияСтроки
Глобальный контекст, метод РаскодироватьСтроку
33 Garykom
 
гуру
09.03.16
13:24
(32) ТС хочет метод кодирования не меняющий (не увеличивающий) длину закодированных строк
34 Лефмихалыч
 
09.03.16
13:32
(33) ну... там не очень удлинится - в трое всего :) зато в ссылку можно пхать