Имя: Пароль:
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) ну... там не очень удлинится - в трое всего :) зато в ссылку можно пхать
Программист всегда исправляет последнюю ошибку.