|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.06.2011, 18:42 | #671 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Ты бездумно исключил из привата кодировку шрифта, а на прием оставил прежнюю позицию вырезки, естественно, нет теперь прежних 4-х байт, а клиент считает что есть, вот и начинает резать с половины ника. Поскольку по вырезке получается половина ника и часть времени, то такого клиент в списке не находит и создает новую вкладку. Тут нужно еще условие создать: если нет в списке ника, вырезанного из привата, то ничего не создавать.
Приватное сообщение с клиента будет выглядеть вот так: Код:
Прием приватного сообщения у клиента будет выглядеть так: Код:
У сервера отправка приватного сообщения: Код:
Код:
Код:
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
13.06.2011, 19:51 | #672 |
Пользователь
Регистрация: 27.04.2011
Сообщений: 68
|
ООо спасибо большое!, все работает правдо опять придется переделывать разшифровку, но то ничего страшного, а еще такой вопрос, у тебя по случайности нет исходников алгоритма шифровария AES для текста, а то чего то нормального найти не могу
|
13.06.2011, 20:14 | #673 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Такого нет. Оно тебе нужно? ...есть у тебя шифрование и достаточно, ...а кто поумнее тот хоть как расшифрует, только время потратит.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
13.06.2011, 20:56 | #674 |
Пользователь
Регистрация: 27.04.2011
Сообщений: 68
|
у меня вообще было сначала реализовано шифрование Base64 а потом поверх XOR, но руководитель сказал что не канает такая фишка, надо что то по серьезней, а на сколько я знаю то сейчас самый матерый это и есть AES хотя я подумывал над DES
|
14.06.2011, 23:47 | #675 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Фильм "Семнадцать мгновений весны" смотрел? ...момент когда Штирлиц получил шифровку, взял книгу с полки и по указателям "вытащил" весь зашифрованный текст - вот это надежно. Книга в данном случае - таблица подмены. Сделай несколько таблиц и помести в укромном месте у клиента и сервера, ...в пакете должна быть ссылка на номер таблицы, по ней каждое сообщение будет шифроваться по разному, перехватчик никогда не узнает как расшифровать пакет, а если у него есть клиент, то никакое шифрование не поможет, если он ломанет программу. Размер пакета изменится на 1 байт.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
15.06.2011, 11:10 | #676 |
Пользователь
Регистрация: 27.04.2011
Сообщений: 68
|
Beermonza, помоги еще с такой проблемой, когда у меня клиент отправляет сообщение клиенту, то сначала ж оно проверяется на сервере кому предназначенно. Так вот, как у меня все работает: когда сообщение было отослоно(в зашифрованном виде) от клиента, сервер его принял, затем он считал с БД пароль отправителя, расшифровал сообщение и поместил его в переменную TEMP. Потом как происходит действия, если получатель сервер, то он выводит это сообщение себе, которое находится в этой переменной. Тут проблем нет. Проблема вот в чем, если получатель не сервер, а какой то клиент, то начинается перебор поиска нужно клиента. После того как получатель был найден, то сервер считывает с БД его пароль и шифрует текст с переменной TEMP в переменную STRTEMP и потом отправляет сообщение этим куском кода:
Код:
Последний раз редактировалось Beermonza; 15.06.2011 в 15:43. |
15.06.2011, 16:05 | #677 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
darek13, ты видимо не ознакомился с командами копирования, и не понимаешь до сих пор смысл кода, что привел. Давай еще раз поясню. Copy - команда копирования содержимого некоторой строки формата String:
Код:
Зашифровывать нужно пакет уже с подменой ника. Если твой STRTEMP содержит подмену, то и отсылай как SS2.Socket.Connections[b].SendText('3'+STRTEMP); ...и всего делов. Код команды '3' и вообще любой код шифровать нельзя, иначе ты будешь прогонять все пакеты через расшифровку, а потом только смотреть код. А если код левый? ...например '9', но ты не узнаешь этого пока не расшифруешь. Правильнее будет, сначала смотреть первый байт, если он попадает в диапазон кодов, то обрабатывать - отправлять на расшифровку, иначе - выпнуть пользователя.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
15.06.2011, 16:16 | #678 |
Пользователь
Регистрация: 27.04.2011
Сообщений: 68
|
Нет STRTEMP содержит только зашифрованный текст, без ника и команды
|
15.06.2011, 16:18 | #679 |
Пользователь
Регистрация: 27.04.2011
Сообщений: 68
|
Например когда сервер передает сообщение клиенту то
Код:
|
15.06.2011, 23:17 | #680 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Так нереально определить начало текста, тем более, что время тоже не постоянно имеет одно и тоже число байт. Зашифровывай все после байта Chr(152), ...и расшифровывай на другой стороне, соответственно.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обновление в блоге - Создание клиент-сервера | Pblog | Обсуждение статей | 0 | 03.10.2007 17:12 |
обновление в блоге - Диплом. Создание и продвижение сайта - готовь сани летом, а дипл | Pblog | Обсуждение статей | 0 | 31.08.2007 20:00 |
обновление в блоге - USB Холодильник | Pblog | Обсуждение статей | 0 | 25.06.2007 14:13 |
обновление в блоге - О ярлыках | Pblog | Обсуждение статей | 0 | 27.05.2007 03:17 |