Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.10.12;
Скачать: [xml.tar.bz2];

Вниз

MD5 и CryptoAPI   Найти похожие ветки 

 
fog   (2008-08-31 22:39) [0]


procedure TForm1.Button1Click(Sender: TObject);
var hProv: hCryptProv;
   hHash: hCryptHash;
   MS: TMemoryStream;
   sl: cardinal;
   sig: array[0..63] of Byte;
begin
CryptAcquireContext(hProv, nil, nil, PROV_RSA_FULL, 0);
CryptCreateHash(hProv, CALG_MD5, 0, 0, hHash);
MS := TMemoryStream.Create;
MS.LoadFromFile("test.exe");
CryptHashData(hHash, MS.Memory, MS.Size, 0);
CryptSignHash(hHash, AT_SIGNATURE, nil, 0, nil, sl);
CryptSignHash(hHash, AT_SIGNATURE, nil, 0, @sig[0], sl);
if hHash <> 0 then CryptDestroyHash(hHash);
if hProv <> 0 then CryptReleaseContext(hProv, 0);
if MS <> nil then MS.Free;
end;


полученный результат (sig) не совпадает с полученным сторонним MD5 калькулятором (md5calc.exe).
размер файла test.exe - > 10 M.
где ошибка?


 
Медвежонок Пятачок ©   (2008-09-01 09:06) [1]

И накой здесь CryptSignHash , если нужно всего лишь md5?


 
Медвежонок Пятачок ©   (2008-09-01 09:12) [2]

Ну и после CryptHashData нужно получить размер итогового хеша, распределить память под хеш и и затем получить само значение хеша: CryptGetHashParam


 
fog   (2008-09-01 12:08) [3]

Ошибку понял, а как быть с большими (типа образ DVD) файлами?


 
Медвежонок Пятачок ©   (2008-09-01 12:09) [4]

Точно так же.


 
Медвежонок Пятачок ©   (2008-09-01 12:10) [5]

Цикл поблочного чтения и в нем CryptHashData


 
fog   (2008-09-01 16:15) [6]

И на том спасибо



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.10.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.04 c
2-1220089058
Ivolg
2008-08-30 13:37
2008.10.12
Подключение dll на C++ Builder к проекту на Delphi


1-1200479320
oleg_teacher
2008-01-16 13:28
2008.10.12
Проблема с мидасом


4-1197466196
OKir
2007-12-12 16:29
2008.10.12
Запрет отключения Num Lock


6-1193993911
Artik
2007-11-02 11:58
2008.10.12
Запуск программ по сети.


15-1219314183
Vlad Oshin
2008-08-21 14:23
2008.10.12
Испортился DVD диск. Как можно попытаться скопировать?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский