Вопрос № 149316: Добрый день, Ув. Эксперты! Я делаю сетевой чат на Delphi (состоит из серверной и клиентской частей). Разговор в чате должны вести только зарегистрированные пользователи, а следовательно нужно сделать проверку логина/пароля. Вот собственно вопр...
Вопрос № 149319: Уважаемые Эксперты!!!Помогите нарисовать в delphi 6-угольник в который заполнит весь компонент. Цвет контура 6-угольника выбирается. Размер стороны задается случайным
образом (для всех одинаковый).помогите пожалуйста, за ранее Большое спасибо!!! <i...Вопрос № 149352: многопоточный поиск и замена исходный код: procedure TForm1.Button1Click(Sender: TObject); var i:Integer; Str:String; begin for i:=0 to CheckListBox1.Items.Count-1 do if CheckListBox1.Checked[i] then Str:=CheckL...
Вопрос № 149.316
Добрый день, Ув. Эксперты! Я делаю сетевой чат на Delphi (состоит из серверной и клиентской частей). Разговор в чате должны вести только зарегистрированные пользователи, а следовательно нужно сделать проверку логина/пароля. Вот собственно вопрос - Каким образом мне передавать (шифровать, или что то подобное) пароль при передаче от клиента к серверу, чтобы хакер, проснифаф трафик от клиента не смог в последствии воспользоваться этой информацией для входа в чат! Если сможете - помогите, посоветуйте... С
уважением - Сычёв Павел
Отвечает: Genia007
Здравствуйте, Сычёв Павел Алексеевич! Можно сделать так, на клиентской части зашифровывать пароль, а на серверной делать расшифровку: На обе машины ставим такую процедуру:
var s: string;
procedure Code(var text: string; password: string; decode: boolean); var i, PasswordLength: integer; sign: shortint; begin PasswordLength := length(password); if PasswordLength = 0 then Exit; if decode then sign := -1 else sign := 1; for i := 1 to
Length(text) do text[i] := chr(ord(text[i]) + sign * ord(password[i mod PasswordLength + 1])); end;
На клиентскую часть:
procedure TForm1.Button1Click(Sender: TObject); begin s := Memo1.Text; code(s, Edit1.Text, false); Memo1.Text := s; end;
На серверную:
procedure TForm1.Button2Click(Sender: TObject); begin code(s, Edit1.Text, true); Memo1.Text := s; end; При нажатии на Button1 эт
а программа шифрует текст из Memo1 при помощи пароля из Edit1. Результат сохраняется в строку s. Для наглядности зашифрованный текст также помещается в Memo1. При нажатии на Button2 текст из s расшифровывается. Если Вы нажмете Button1 два раза подряд, получится зашифрованный зашифрованный текст. Вернуть начальный текст можно будет двумя нажатиями на Button2. Но, поскольку в результате шифрования в строке могут появится
Приложение:
Ответ отправил: Genia007 (статус: 10-й класс)
Ответ отправлен: 02.11.2008, 18:24
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 149316 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 3 Комментарий оценки: Вы немного не поняли идеи вопроса - ваше решение не избавляет от проблем при перехвате хакером пароля...
Вопрос № 149.319
Уважаемые Эксперты!!!Помогите нарисовать в delphi 6-угольник в который заполнит весь компонент. Цвет контура 6-угольника выбирается. Размер стороны задается случайным образом (для всех одинаковый).помогите пожалуйста, за ранее Большое спасибо!!!
Отправлен: 02.11.2008, 18:23
Вопрос задал: Тарасов Александр
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Genia007
Здравствуйте, Тарасов Александр ! Предлагаю такой ответ: при каждом нажатии кнопки открывается диалог выбора цвета, а после выбора рисуется шестиугольник произвольного размера на компоненте PaintBox:
Приложение:
Ответ отправил: Genia007 (статус: 10-й класс)
Ответ отправлен: 02.11.2008, 19:41
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 149319 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Вопрос № 149.352
многопоточный поиск и замена исходный код:
procedure TForm1.Button1Click(Sender: TObject); var i:Integer; Str:String; begin for i:=0 to CheckListBox1.Items.Count-1 do if CheckListBox1.Checked[i] then Str:=CheckListBox1.Items[i]; Memo1.Lines.Text := StringReplace(Memo1.Lines.Text,PChar(Str),'.',[rfReplaceAll]); end;
Вопрос: Например, в CheckListBox1 есть 1,2,3,4, мне нужно чтобы при Checked например 1,3 просиходил поиск и замеа одновременно, вообщем
все что было найдено с цифрами 1,3 в (memo) было заменено Помогите переделать или дописать код
Отвечает: Шичко Игорь
Здравствуйте, Oneboyfriend! Код практически правильный, только нужно добавить перебор строк в компоненте TMEMO. Примерный код в приложении.
Приложение:
Ответ отправил: Шичко Игорь (статус: Студент)
Ответ отправлен: 03.11.2008, 18:04
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 149352 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.