![]() |
|
|
![]()
|
|
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
У меня небольшая проблема с этим шифрованием... Оказалось, он не шифрует символ переноса строки. И, значит, как мне кажется, не шифрует и символ табуляции. Это исправляемо?
|
|||
|
||||
| Сый |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 131 Регистрация: 23.1.2006 Репутация: нет Всего: 3 |
Странный вопрос. Что передаёшь функции/задаче, то и шифруется (если она, конечно, нормально реализована).
--------------------
Язык программирования, родственный языкам Паскаль и Оберон, использующий русские служебные слова - Глагол: http://glagol.nad.ru |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
xor-шифрование, как и большинство известных мне алгоритмов шифрования не имеет дела с текстом
они имеют дело только с последовательность чисел поэтому алгоритму, обычно по барабану семантическая нагрузка символа в более сложные алгоритмы встраивается учёт вероятностей появления того или иного символа, что позволяет затруднить статистические методы взлома в ещё более сложных алгоритмах могут использоваться какие-нибудь более глубокие данные о символах но xor - явно не тот случай тут, ИМХО, проблема находится где-то между приёмом текста от пользователя и отправкой массива байт в алгоритм шифрования... -------------------- qqq |
|||
|
||||
| mr.Anderson |
|
||||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
хм... сама функция шифровки описана так:
А вызывается она вот таким макаром:
Где Rezults - компонент класса TMemo, XOR_Crypt() - собственно функция шифровки, Temp - еще компонент класса TMemo, XORCryptkey - компонент TEdit, в который вводится ключ для расшифровки. |
||||
|
|||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Да елки! Неужто никто в жизнь не шифровал этим алгоритмом символы переноса строки!
|
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
1. как проявляется "нешифрование" символов переноса строки
2. неплохо было бы посмотреть шифруемую строку, как последовательность кодов её символов -------------------- qqq |
|||
|
||||
| mr.Anderson |
|
||||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
секунду.... не понял... сейчас снова попробовал закодировать-расшифровать, почему-то получилось... правда, я там код слегка менял... мда. Ладно, прошу извинить за беспокойство, проблема решилась как-то сама собой...
Добавлено @ 19:16 Нет, не решилась! Протестировал еще раз, пожестче. Оказалось, что символы переноса строки шифруются нормально! Не шифруется цифра 1 ! Вот что! То есть, я пробовал зашифровать вот такое:
В итоге в файле получал кракозябры, как и надо. Расшифровываю, на выходе получаю следующее:
Т.е. символы при шифровке урезаются до единицы. Почему так? То есть проблемой является только единица! |
||||
|
|||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: нет Всего: 360 |
У тебя там скорее всего трабла с '\0' тобишь с символом конца строки. Потому что ты работаешь с AnsiString и оператором '+'.
Перепиши функции на char*. |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Эммм.... не получилось... Переписал вот так:
Может, где и наврал, но суть не в этом. В функцию, как я писал выше, передается два аргумента типа AnsiString, который нельзя преобразовать в char, как говорит компилер... |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
не пойдёт... даже не скомпилируется... нужно передавать длину строки P.S. Модератор: судя по всему, проблема не с алгоритмом, так что лучше перемещу это в Delphi... -------------------- qqq |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
P.S. А вот в Delphi этому точно нечего делать. Мы вроде тут С++ разбираем. И, соответственно, Borland C++ Builder, а не Delphi/Kylix.
Не могу понять, как написать функцию... Похоже, придется смириться с ошибкой с единицей. |
|||
|
||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 7 Всего: 20 |
У меня была такая проблема с шифрованием методом XOR, решил я ёё следующим способом - перед шифровкой символы '\0' заменял на '\r\m'(или что-то похожее) и все заработало как часы.
-------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
на автомате написал Delphi зато перенёс правильно -------------------- qqq |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 7 Всего: 67 |
Вот код xor шифрования, который я использовал для шифрования паролей пользователей многопользовательской игры в морской бой, защиты никакой канеш, но от "дурака" вполне приемлемо)))
работает без накладок)
-------------------- СУВ, Partizan. |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 11 Всего: 146 |
Мож уже и не надо , но
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |