Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
nobik
0 / 0 / 1
Регистрация: 22.04.2014
Сообщений: 48
1

Передать серверу логин и пароль для авторитизации, но пароль нужно передать в md5

27.04.2014, 22:11. Просмотров 1387. Ответов 9
Метки нет (Все метки)

Нужно передать серверу логин и пароль для авторитизации, но пароль нужно передать в md5. Но у меня передаваемое md5 отличается от md5 пароля. Что я не так делаю ? Шифрую в md5 https://www.cyberforum.ru/post104544.html по этой теме

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if Work then
    begin
     FAcc:= Copy(Accounts[CurAcc],1,Pos(';',Accounts[CurAcc])-1);
     FPas:= Copy(Accounts[CurAcc],Pos(';',Accounts[CurAcc])+1,Length(Accounts[CurAcc]));
 
       data:=Tstringlist.create;
       data:=TStringList.Create;
       data.Add('vb_login_username='+FAcc);
       data.Add('vb_login_password=');
       data.Add('s=');
       data.Add('securitytoken=guest');
       data.Add('do=login');
       data.Add('vb_login_md5password='+md5(FPas));
       data.Add('vb_login_md5password_utf='+md5(FPas));
     HTTP:=TIdHTTP.Create(nil);
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2014, 22:11
Ответы с готовыми решениями:

Логин и пароль
надо написать программу кторая будет запрашивать логин и пароль

Логин - пароль.
Подскажите пожалуйста, в чем ошибка: При правильном вводе логина и пароля, должна открываться...

Логин Пароль
Доброго времени суток помогите плз ато голову сломал (или мож фантазии не хватает) Есть...

Логин и пароль
procedure TForm2.Button1Click(Sender: TObject); begin if edit1.Text='1' then l:=1 else l:=0; if...

Логин и пароль
Помогите пожалуйста!!! procedure TForm4.Button1Click(Sender: TObject); var login,pass:string;...

9
krapotkin
4114 / 3430 / 1160
Регистрация: 14.04.2014
Сообщений: 16,441
Записей в блоге: 17
28.04.2014, 12:13 2
сейчас уже точно не помню, тоже находил всякие реализации, не совпавшие с серверными,
остановился на такой:

Delphi
1
2
3
4
5
6
7
8
9
10
11
function MD5(const st : string) : string;
var
  idmd5 : TIdHashMessageDigest5;
begin
  idmd5 := TIdHashMessageDigest5.Create;
  try
    result := idmd5.HashStringAsHex(st);
  finally
    idmd5.Free;
  end;
end;
1
nobik
0 / 0 / 1
Регистрация: 22.04.2014
Сообщений: 48
28.04.2014, 21:56  [ТС] 3
Мне данный метод не подходит. Дело в том, что если перевести пароль в md5, то хэш совпадает с передаваемым на сайт. А у меня почему-то (может не так, что сделал) при передаче хэш почему-то не совпадает с хэшем пароля

Добавлено через 4 часа 12 минут
По логике в коде Fpass после копирования пароля должна перевестить в строке data.Add('vb_login_md5password='+md5(FPas)); в md5 и уже в md5 передаться на сайт, но значение md5 при передаче не такое, как если получить этим же способом md5 пароля. Что я делаю не так ?
0
TITA98
4 / 4 / 3
Регистрация: 24.04.2014
Сообщений: 13
29.04.2014, 06:30 4
Лучший ответ Сообщение было отмечено nobik как решение

Решение

С этим юнитом посмотри. В uses добавь md5Module.pas.
Проверь, правильно будет выдавать в Memo кодировку из Edit:
Delphi
1
Memo1.Text:= md5(Edit1.Text);
1
Вложения
Тип файла: zip md5Module.zip (1.8 Кб, 26 просмотров)
nobik
0 / 0 / 1
Регистрация: 22.04.2014
Сообщений: 48
29.04.2014, 11:11  [ТС] 5
Цитата Сообщение от TITA98 Посмотреть сообщение
С этим юнитом посмотри. В uses добавь md5Module.pas.
Проверь, правильно будет выдавать в Memo кодировку из Edit:
Так я так и делаю. Но в моем примере md5 передаваемого отличается от md5 пароля
0
TITA98
4 / 4 / 3
Регистрация: 24.04.2014
Сообщений: 13
29.04.2014, 14:26 6
Скомпилируйте и проверьте. У меня без отличий кодирует в md5.
1
Вложения
Тип файла: zip Project1.zip (82.7 Кб, 25 просмотров)
nobik
0 / 0 / 1
Регистрация: 22.04.2014
Сообщений: 48
29.04.2014, 18:33  [ТС] 7
Цитата Сообщение от TITA98 Посмотреть сообщение
Скомпилируйте и проверьте. У меня без отличий кодирует в md5.
Вы не так меня поняли. Это и у меня работает. Мне нужно пароль, который будет браться из списка перевести в md5 и передать на сервер. Код выше представлен. Но хэш md5 при передаче на сервер, не такой, как если я его в программе сделаю
0
TITA98
4 / 4 / 3
Регистрация: 24.04.2014
Сообщений: 13
29.04.2014, 21:45 8
Надеюсь, что правильно понял. Вариантами, которыми пользуетесь будет правильно шифровать в Delphi 7. В более новых версиях Delphi, md5 будет не верный. Поэтому, у Вас видимо и неправильный md5 передается.

З.Ы. Шифруйте пароль в md5 с помощью юнита, который я предложил.
1
nobik
0 / 0 / 1
Регистрация: 22.04.2014
Сообщений: 48
30.04.2014, 14:37  [ТС] 9
Цитата Сообщение от TITA98 Посмотреть сообщение
будет правильно шифровать в Delphi 7.
В тот то и дело, что на делфи 7 при работе с HTTPS у меня постоянно ошибки выдает, поэтому перешел на XE3,но там из-за размера файла при компиляции стыдно становится. Остановился на делфи 2010
0
northener
пофигист широкого профиля
3657 / 2457 / 664
Регистрация: 15.07.2013
Сообщений: 14,639
30.04.2014, 15:08 10
Цитата Сообщение от nobik Посмотреть сообщение
перешел на XE3,но там из-за размера файла при компиляции стыдно становится. Остановился на делфи 2010
Хрен редьки не слаще. И то и другое юникодные версии в отличие от Д2007 и ниже.
1
30.04.2014, 15:08
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2014, 15:08

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Логин и пароль из StringGrid
Есть 2 формы: на первой 2 Edit и 2 кнопки "Войти" и "Выйти" соответственно. На второй StringGrid с...

Запомнить логин и пароль
Привет, нужны советы как организовать запоминания пары логин и пароль. При желании пользователя...

Логин/Пароль по 3-м пользователям
Покажите пожалуйста пример создания логина\пароля с ini файлом, и использованием компонента...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.