![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| vovan430 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 13.8.2005 Где: Иркутская обл. г. Тайшет Репутация: нет Всего: нет |
Помогите мне написать программу которая шифрует слова введённые в memo1 на какие ни будь закарючки и обратно из закарючек в нормальный текст
ввод в memo1 вывод B Memo2 Это сообщение отредактировал(а) vovan430 - 29.10.2005, 13:20 |
|||
|
||||
| MFSham |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.8.2005 Где: Беларусь, Гродно Репутация: 1 Всего: 3 |
Создаешь какое-либо множесво, в котором каждому символу ставишь в соответствие какую-нибудь закорючку. Расшифровывается просто в обратном порядке.
Один из самых простых способов шифрования - сдвиг на определенное кол-во букв по алфавиту относительно текущей. Например устанавливаешь сдвиг = 5, и получаешь, что А=Д, Б=Е и т.д. Знаки препинания можешь просто заманить на закарючки. Надеюсь смысл понятен. --------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны. |
|||
|
||||
| ne0n |
|
|||
|
PlayBoy ![]() ![]() Профиль Группа: Участник Сообщений: 733 Регистрация: 5.8.2005 Где: Н.Новгород Репутация: 1 Всего: 11 |
Вот простой примерчик шифрования и дешифрования текста:
p.s. для Memo придется чуть чуть переделать! |
|||
|
||||
| vovan430 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 13.8.2005 Где: Иркутская обл. г. Тайшет Репутация: нет Всего: нет |
а точнее как для memo
Добавлено @ 15:51
Понятен смысл, но такой способ у меня уже есть надо другой. |
|||
|
||||
| Prof_2000 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 26.3.2005 Где: Харьков, Украина Репутация: 1 Всего: 1 |
Могу предложить гениальный вариант! Сам случайно напоролся. Если сохранить string в файл при помощи TMemoryStream, то оно его так закодирует, что раскодировать само не сможет. Зато его можно будет раскодировать при помощи команды ReadFile. Почему работает, не знаю, но работает. А пишется легко.
--------------------
Pereant qui ante nos nostra dixerunt! (лат.) Да погибнут те, кто раньше нас высказал наши мысли! |
|||
|
||||
| MFSham |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.8.2005 Где: Беларусь, Гродно Репутация: 1 Всего: 3 |
По моему такой вариант для Memo1 неприемлим. Получается тебе для каждой строки надо будет хранить отдельный массив. А если строк в Memo1 1000, то тебе придется хранить 1000 массивов для того, чтобы это все потом расшифровать. А для шифровки одной строки предложенный способ естестно прокатит. Тут быстрее будет написать некий алгоритм распознавания и дешифровки текста из Memo2, основываясь на том, какой был выбран метод шифрования.
Придумай!!! Это сообщение отредактировал(а) MFSham - 30.10.2005, 11:04 --------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны. |
||||
|
|||||
| Самурай |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 20.10.2005 Где: Воронежская облас ть > Семилуки Репутация: 1 Всего: 1 |
А если нам определить обычный массив от 0 до 255 с произвольным расположением символов в нем из таблицы кодов без их повторнений? Тога мы можем легко кодировать и раскодировать текст, при этом секретность нормальная, если применить в добавок еще и простой xor и сменить кодировку у текста. Все это пишется в пару строк.
|
|||
|
||||
| Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 26 Всего: 108 |
вот пример:
здесь текст шифруется и записывается в файл. Выбран именно такой вариант, потому что работаю с TStringList, при зашифровке может получится символ #13, после него все символы в строке (String) теряются, что делает невозможным корректную расшифровку. Если поэкспериментировать с переменными типа Техt и зашифровку производить не по строкам, а по символьно, то может и получится преобразовать в нормальный текст, поддающийся расшифровке. -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
| RideX |
|
|||
|
Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 94 Регистрация: 8.9.2004 Репутация: 4 Всего: 7 |
Base64 гарантирует набор только из ANSI символов
|
|||
|
||||
| Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 26 Всего: 108 |
ну можно немножко подделать и будет ещё с русским алфовитом работать... -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: нет Всего: 48 |
||||
|
||||
| RideX |
|
|||
|
Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 94 Регистрация: 8.9.2004 Репутация: 4 Всего: 7 |
Ещё немножно - будет и с арабским |
|||
|
||||
| Rome |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 3.11.2005 Репутация: нет Всего: нет |
vovan430
Для кодирования используй компонент TIdBase64Encoder, а для декодирования TIdBase64Decoder из панели Indy Misс. А также есть компоненты(TIdCoderMD2, TIdCoderMD4, TIdCoderMD5) для шифрования по стандартам RSA-MD2/4/5. Лично я использую для кодирования и декодирования компонент TIdBase64Encoder и декодирование TIdBase64Decoder. Удачи |
|||
|
||||
| newalex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 15.11.2005 Репутация: нет Всего: нет |
Простейший xor, эту же функцию для расшифрования используй...
Это сообщение отредактировал(а) Girder - 16.11.2005, 13:26 |
|||
|
||||
| Addmin |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 3.2.2006 Где: сослан в Сибирь Репутация: нет Всего: 15 |
Полиалфавитный шифр Вигинера - мощная вещь! Шифрует по введённом слову, и как шифрует! Не то что закорючки - верхний и нижний индекс и прочие непечатаемые знаки в деле! И кода - всего ничего:
Пример:
Добавлено @ 11:34 Да, а дешифрация - точно также проходит. Добавлено @ 11:36 Да, и ещё немного - ключевое слово может быть как русским, так и английским(китайским, японским...) и не просто слово - предложение. Шифрует любой текст (на любом языке). -------------------- SimpleFit.ru - блог о том, как заниматься спортом нормальным людям -- Стимул работы в Сибири - комары. |
||||
|
|||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
||||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |