2.4.7. Рассчёт значения HASH-функции для файла

Задача часто возникающая при передаче данных. Hash используется для контроля целостности данных.

Рассчёт значения HASH для файла, с использованием алгоритма GOST3411
<pascal>
OID_CP_GOST_R3411 := '1.2.643.2.2.9'; //Идентификатор алгоритма хеширования
PROV_GOST_2001_DH := 75; //Тип используемого криптопровайдера

fileName := AskFileNameForOpen('');
if fileName <> '' then
begin
  hash := Cryptor.CreateProv(PROV_GOST_2001_DH).CreateHash(OID_CP_GOST_R3411);
  hash.HashData(LoadFromFileToBlob(fileName));
  hashInGOST3411 := BlobToBase64(hash.Value);
  ShowMessage(hashInGOST3411);
end;
</pascal>