Сейчас на форуме: zds, UniSoft (+5 невидимых)

 eXeL@B —› Программирование —› МД5 Дельфи
Посл.ответ Сообщение

Ранг: 2.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 31 января 2013 18:41
· Личное сообщение · #1

Всем привет.

Подскажите в чем проблема, естьк од

var
Hash: TDCP_md5;
Digest: array[0..128] of byte;
i: integer;
s: string;
begin
Hash:= TDCP_md5.Create(Self);
Hash.Init;
Hash.UpdateStr(Edit1.Text);
Hash.Final(Digest);
for i:= 0 to 15 do
s:= s + IntToHex(Digest[i],-1);
Edit2.Text:=s;

для любых значений получаю неверный результат

например для 12345 хэш = C31AC605793F580B386C0FB53F1B9775

а нужно для 12345 хэш = 827CCB0EEA8A706C4C34A16891F84E7B




Ранг: 253.5 (наставник), 684thx
Активность: 0.260.25
Статус: Участник
radical

Создано: 31 января 2013 18:55 · Поправил: DimitarSerg
· Личное сообщение · #2

Вот возьми юнит, подключи, вызови MD5DigestToStr(MD5string('текст')) и не мучайся.

p.s. А если все же хочешь dcpCrypt загляни в папку docs - там есть пример - изчучи.

1983_31.01.2013_EXELAB.rU.tgz - dmmd5.zip

-----
ds


| Сообщение посчитали полезным: TLN

Ранг: 10.2 (новичок), 6thx
Активность: 0.010
Статус: Участник

Создано: 31 января 2013 19:24 · Поправил: c7111981
· Личное сообщение · #3

http://www.cityinthesky.co.uk/opensource/DCPcrypt
DCPcrypt v2 Beta 3
Code:
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, StdCtrls, DCPrijndael, DCPsha1, DCPcrypt2, DCPmd5;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Edit1: TEdit;
  12.     Edit2: TEdit;
  13.     Button1: TButton;
  14.     DCP_md51: TDCP_md5;
  15.     procedure Button1Click(Sender: TObject);
  16.   private
  17.     { Private declarations }
  18.   public
  19.     { Public declarations }
  20.   end;
  21.  
  22. var
  23.   Form1: TForm1;
  24.  
  25. implementation
  26.  
  27. {$*.dfm}
  28.  
  29. procedure TForm1.Button1Click(Sender: TObject);
  30.  
  31. var
  32. Hash: TDCP_md5;
  33. Digest: array[0..128] of byte;
  34. i: integer;
  35. s: string;
  36. begin
  37. Hash:= TDCP_md5.Create(Self);
  38. Hash.Init;
  39. Hash.UpdateStr(Edit1.Text);
  40. Hash.Final(Digest);
  41. for i:= 0 to 15 do
  42. s:= s + IntToHex(Digest[i],-1);
  43. Edit2.Text:=s;
  44. end;
  45.  
  46. end.


Или
Code:
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, StdCtrls, md5;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Edit1: TEdit;
  12.     Edit2: TEdit;
  13.     Button1: TButton;
  14.     procedure Button1Click(Sender: TObject);
  15.   private
  16.     { Private declarations }
  17.   public
  18.     { Public declarations }
  19.   end;
  20.  
  21. var
  22.   Form1: TForm1;
  23.  
  24. implementation
  25.  
  26. {$*.dfm}
  27.  
  28. procedure TForm1.Button1Click(Sender: TObject);
  29. begin
  30. Edit2.Text:=MD5DigestToStr(MD5String(Edit1.Text));
  31. end;
  32.  
  33. end.


12345=827CCBEEA8A706C4C34A16891F84E7B

2796_31.01.2013_EXELAB.rU.tgz - md5.rar

| Сообщение посчитали полезным: TLN

Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 31 января 2013 19:48
· Личное сообщение · #4

msvc
Какая то реализация MD5.


e3a2_31.01.2013_EXELAB.rU.tgz - MD5.rar



Ранг: 10.2 (новичок), 6thx
Активность: 0.010
Статус: Участник

Создано: 31 января 2013 19:53
· Личное сообщение · #5

Пока сообщение правил F_a_u_s_t то же самое что и я предложил .



Ранг: 2.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 31 января 2013 19:57
· Личное сообщение · #6

Вот мой пример, проверьте кому не сложно исходник и скомпиленый вариант.



Ранг: 10.2 (новичок), 6thx
Активность: 0.010
Статус: Участник

Создано: 31 января 2013 20:03
· Личное сообщение · #7

msvc пишет:
Вот мой пример, проверьте кому не сложно исходник и скомпиленый вариант.

Где?



Ранг: 2.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 31 января 2013 20:05
· Личное сообщение · #8

Дубль два

0f72_31.01.2013_EXELAB.rU.tgz - Projects.zip



Ранг: 51.8 (постоянный), 58thx
Активность: 0.03=0.03
Статус: Участник

Создано: 31 января 2013 20:08
· Личное сообщение · #9

C31AC605793F580B386C0FB53F1B9775 - это хеш от строки "12345" в Unicode.



Ранг: 10.2 (новичок), 6thx
Активность: 0.010
Статус: Участник

Создано: 31 января 2013 20:13 · Поправил: c7111981
· Личное сообщение · #10

msvc, действительно приложение вычисляет не то, а исходник считает правильно с DCPcrypt v2 Beta 3
http://www.cityinthesky.co.uk/opensource/DCPcrypt
В DCPcrypt у вас что то не так.



Ранг: 2.1 (гость)
Активность: 0=0
Статус: Участник

Создано: 31 января 2013 20:14
· Личное сообщение · #11

Теперь понятно. Спасибо всем


 eXeL@B —› Программирование —› МД5 Дельфи
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати