[英]Delphi calculate TStream hash/checksum
我正在尋找一種計算TStream(TMemoryStream)校驗和的快速方法。 目的是存儲散列,並將其用於檢測某些操作后是否更改了校驗和。
這是我的代碼:
function GetChecksum(const Stream: TStream): String;
var
MD5: TIdHashMessageDigest5;
begin
MD5 := TIdHashMessageDigest5.Create;
try
Result := MD5.HashStreamAsHex(Stream);
finally
MD5.Free;
end;
end;
它可以工作,但是流很大會有點慢。
有一種快速的方法來計算流校驗和嗎?
此代碼計算MD5-這是加密哈希,相當復雜且緩慢。
對於校驗和,您可以嘗試使用更簡單的算法,例如BobJenkinsHash
(S ystem.Hash.THashBobJenkins.GetHashValue )。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.