![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Хеширование по алг 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 имеется (свой/скачанный), или его еще предстоит сделать?