uses DCPsha256,
function DigestToStr(Digest: array of byte): string;
var
i: Integer;
begin
Result := '';
for i := 0 to Length(Digest) - 1 do
Result := Result + uppercase(IntToHex(Digest[i], 2));
end;
function GetStringHash(Source: AnsiString): string;
var
Hash: TDCP_sha256;
Digest: array[0..31] of byte;
begin
Hash := TDCP_sha256.Create(nil);
Hash.Init;
Hash.UpdateStr(Source);
Hash.Final(Digest);
Hash.Free;
Result := DigestToStr(Digest);
end;