|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.01.2012, 02:25 | #1 |
Пользователь
Регистрация: 04.10.2011
Сообщений: 16
|
xor текста из Memo
Доброй ночи!
Ситуация такая,подгружаю текст из текстового файла в memo(или просто ввожу) и пытаюсь построчно xor-ить. нашел алгоритм в инете,плюс добавил своего,получилось что-то наподобии Код:
где ошибка? или лучше оформить по другому? первая проблема решена. проблема 2: xor только первой строчки Последний раз редактировалось riderpro; 09.01.2012 в 02:28. |
09.01.2012, 11:08 | #2 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
Где именно отказывается? Выдает ошибку во время работы или при компиляции?
"ковыряю изнутри" (с)
Последний раз редактировалось 3D Hunter; 09.01.2012 в 11:10. |
09.01.2012, 11:08 | #3 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
например, можно так попробовать:
Код:
"ковыряю изнутри" (с)
|
09.01.2012, 11:26 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
все это бесполезно.
в результате XOR могут получится (и получаются!) НЕПЕЧАТНЫЕ символы. А визуальные компоненты (такие как TMemo, например) - НЕ ПРЕДНАЗНАЧЕНЫ для отображения таких символов. Какой выход, спросите Вы? Ну, прежде всего, зачем нужно отображать ЗАШИФРОВАННЫЙ текст в мемо?! Охота посмотреть на "кракозябры"?! Поэтому самый логичный вывод - отказаться от использования Memo для отображения зашифрованного текста. Если же, по какой-то тайной прихоти всё же необходимо отобразить шифровку в мемо, тогда можно воспользоваться алгоритмом преобразования непечатных символов в печатные (см. алгоритмы UUECODE, BASE64, благо они достаточно просты, да и реализаций их полно). p.s. если поискать на форуме, я тут уже обсуждал подобную проблему и, если мне память верна, там в теме были готовые решения... |
09.01.2012, 11:33 | #5 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
Serge_Bliznykov, я предложил нормальное решение в этом плане) крякозябры выводятся hex-представлением в тот же мемо.
"ковыряю изнутри" (с)
|
09.01.2012, 15:15 | #6 |
Пользователь
Регистрация: 04.10.2011
Сообщений: 16
|
3D Hunter, спасибо,но вот теперь расшифровать не получается
как вернуть этот набор символов в исходный вид? Последний раз редактировалось riderpro; 09.01.2012 в 16:51. |
09.01.2012, 16:26 | #7 |
Пользователь
Регистрация: 04.10.2011
Сообщений: 16
|
я так понимаю,что нужна процедура преобразование hex обратно в символы,а потом снова xor?
Последний раз редактировалось riderpro; 09.01.2012 в 16:52. |
09.01.2012, 19:33 | #8 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
Правильно понимаете. А сделать легко - организуете цикл от 1 до "длина зашифрованного текста, деленная на 2" и считываете в нем по 2 символа, преобразуете их в байт, затем ксорите с исходным ключом (процедура расширения ключа та же, но относительно уже приведенной строки к бинарному виду из hex).
Вот вам в помощь следующий код на основе моего предыдущего: SimpleTextCryptDecrypt.zip Переработал шифрование, сделал еще легче. Смотрите исходники.
"ковыряю изнутри" (с)
|
09.01.2012, 19:36 | #9 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
это как? учитывая что SizeOf(AnsiChar)==1, а SizeOf(UnicodeChar)==2. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
09.01.2012, 20:36 | #10 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
Пепел Феникса, вы невнимательно прочли тему. Идет речь про 2 символа в hex формате, т.е. например $C7.
"ковыряю изнутри" (с)
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Копирование текста из Memo | bulkin2000 | Компоненты Delphi | 3 | 30.04.2012 14:03 |
Проверка текста Memo | fineleave | Помощь студентам | 4 | 11.06.2011 21:48 |
Загрузка текста в Memo | quarty | Общие вопросы Delphi | 8 | 21.10.2010 21:52 |
memo атрибут текста | grom333 | Помощь студентам | 10 | 21.03.2010 20:34 |
Вставка текста в memo | Revan | Общие вопросы Delphi | 2 | 23.05.2008 17:45 |