Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1137111077
Kromwerk
2006-01-13 03:11
2006.01.29
Работа с DBComboBox


2-1137171398
Guest386x
2006-01-13 19:56
2006.01.29
стандартные библиотеки?


11-1118239821
Haker
2005-06-08 18:10
2006.01.29
MainMenu


15-1136912833
Gamlet_navernoe
2006-01-10 20:07
2006.01.29
Как жить в USA?


15-1136754461
DillerXX
2006-01-09 00:07
2006.01.29
Клиническая смерть





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский