Форум: "Начинающим";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
ВнизХеширование по алг MD5? Найти похожие ветки
← →
St74 (2006-01-09 12:46) [0]Простите за банальный вопрос
Есть 3 Edit"a как мне считать из них текст, обработать Алгоритмом хеширования MD5 и передать результат в Memo!
← →
kami © (2006-01-09 12:49) [1]А модуль работы с MD5 имеется (свой/скачанный), или его еще предстоит сделать?
← →
Reindeer Moss Eater © (2006-01-09 13:03) [2]Модуль вычисления MD5 есть в любой винде
← →
Fay © (2006-01-09 15:28) [3]Reindeer Moss Eater © (09.01.06 13:03) [2]
хде?
← →
Reindeer Moss Eater © (2006-01-09 15:35) [4]В любой ОС MS Windows, включая 9x предустановлены несколько криптопровайдеров. В них реализованы различные алгоритмы хеширования.
MD5 к примеру точно есть в реализации любого провайдера c типом PROV_RSA_FULL, а может и вообще во всех.
← →
Vis74 © (2006-01-11 13:32) [5]
Парни прошу извинить за молчание, проблемы у провайдера!
Сам агоритм есть, скачаный, Мне нужно понять как правельно опросить Едиты
и обработав Мд5 вывести результат в Мемо!!!
Большая просьба если мона, по конкретнее, да я знаю что мы Начинающие, хотим всё и сразу, но правда - Грамотный и с пояснениями ответ _ Решает проблемы
Интерператора понимания!
С уважением St74!
← →
Reindeer Moss Eater © (2006-01-11 14:28) [6]var SourceString : string;
begin
SourceString := Edit1.Text + Edit2.Text + ... + EditN.Text;
Memo1.Lines.Add("Hash = " + MyHashFunction(SourceString));
end;
← →
Reindeer Moss Eater © (2006-01-11 14:41) [7]Сам агоритм есть, скачаный
Десяток строк кода и не надо ничего качать.
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;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.031 c