Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Хеширование по алг MD5? [D7, XP]


St74 ©   (2006-01-09 12:46:00) 

Простите за банальный вопрос

Есть 3 Edit'a как мне считать из них текст, обработать Алгоритмом хеширования MD5 и передать результат в Memo!


Reindeer Moss Eater   (2006-01-11 14:41:00) [1]

Сам агоритм есть, скачаный

Десяток строк кода и не надо ничего качать.

uses WCrypt2.pas
...

function CalcMD5(const AString : string) : string;
var hProv : HCRYPTPROV; hHash : HCRYPTHASH;
   pBuff,p : PByte; i,ALen : Cardinal;
begin
Result := ''; pBuff := nil;
if CryptAcquireContext(@hProv,nil,nil,PROV_RSA_FULL,CRYPT_VERIFYCONTEXT) then
 try
  if CryptCreateHash(hProv,CALG_MD5,0,0,@hHash) then
   begin
    if CryptHashData(hHash,@AString[1],Length(AString),0) then
     begin
      if CryptGetHashParam(hHash,HP_HASHVAL,nil,@ALen,0) then
       begin
        GetMem(pBuff,ALen);
        p := pBuff;
        if CryptGetHashParam(hHash,HP_HASHVAL,pBuff,@ALen,0) then
         for i := 1 to ALen do
          begin
           Result := Result + IntToHex(p^,2);
           Inc(p);
          end;
       end;
     end;
   end;
 finally
  if Assigned(pBuff) then FreeMem(pBuff,ALen);
  CryptDestroyHash(hHash);
  CryptReleaseContext(hProv,0);
 end;
end;


Reindeer Moss Eater   (2006-01-11 14:28:00) [2]

var SourceString : string;
begin
SourceString := Edit1.Text + Edit2.Text + ... + EditN.Text;
Memo1.Lines.Add('Hash = ' + MyHashFunction(SourceString));
end;


Vis74   (2006-01-11 13:32:00) [3]

Парни прошу извинить за молчание, проблемы у провайдера!

Сам агоритм есть, скачаный, Мне нужно понять как правельно опросить Едиты
и обработав Мд5 вывести результат в Мемо!!!

Большая просьба если мона, по конкретнее, да я знаю что мы Начинающие, хотим всё и сразу, но правда - Грамотный и с пояснениями ответ _ Решает проблемы
Интерператора понимания!

С уважением St74!


Reindeer Moss Eater   (2006-01-09 15:35:00) [4]

В любой ОС MS Windows, включая 9x предустановлены несколько криптопровайдеров. В них реализованы различные алгоритмы хеширования.
MD5 к примеру точно есть в реализации любого провайдера c типом PROV_RSA_FULL, а может и вообще во всех.


Fay   (2006-01-09 15:28:00) [5]

Reindeer Moss Eater ©   (09.01.06 13:03) [2]
хде?


Reindeer Moss Eater   (2006-01-09 13:03:00) [6]

Модуль вычисления MD5 есть в любой винде


kami   (2006-01-09 12:49:00) [7]

А модуль работы с MD5 имеется (свой/скачанный), или его еще предстоит сделать?


Наверх

Титульная страница Поиск, карта сайта Написать письмо