TSha512Digest = array[0..63] of Byte;
TSha384Digest = array[0..47] of Byte;
TSha512Context = record
State: array[0..7] of UInt64;
CountLo: UInt64;
CountHi: UInt64;
Buffer: array[0..127] of Byte;
BufLen: Integer;
Is384: Boolean;
end;
procedure Sha512Init(out Ctx: TSha512Context);
procedure Sha384Init(out Ctx: TSha512Context);
procedure Sha512Update(var Ctx: TSha512Context; const Buf; BufLen: Integer);
procedure Sha512Final(var Ctx: TSha512Context; out Digest: TSha512Digest);
procedure Sha384Final(var Ctx: TSha512Context; out Digest: TSha384Digest);
function Sha512Bytes(const B: TBytes): TSha512Digest;
function Sha384Bytes(const B: TBytes): TSha384Digest;
FPdfSha512 implementuje heš funkcije SHA-512 i SHA-384 nad deljenim kontekstom sa 64-bitnim rečima. Zastavica Is384 u kontekstu bira skraćenu SHA-384 varijantu kada se inicijalizuje kroz Sha384Init
Inkrementalni API odražava FPdfSha256: inicijalizujte kontekst, dovodite bafore kroz Sha512Update i dovršite do 64-bajtnog SHA-512 sažetka ili 48-bajtnog SHA-384 sažetka. Sha512Bytes i Sha384Bytes su jednopozivni pomoćnici nad nizom bajtova
| Function | Description |
|---|---|
Sha512Init | Inicijalizuje SHA-512 kontekst |
Sha384Init | Inicijalizuje SHA-384 kontekst (postavlja unutrašnju zastavicu Is384) |
Sha512Update | Dovodi netipizirani bafer u otvoreni SHA-512 ili SHA-384 kontekst |
Sha512Final | Dovršava SHA-512 kontekst i vraća 64-bajtni sažetak |
Sha384Final | Dovršava SHA-384 kontekst i vraća 48-bajtni sažetak |
Sha512Bytes | Jednopozivno SHA-512 heširanje niza bajtova |
Sha384Bytes | Jednopozivno SHA-384 heširanje niza bajtova |
| Type | Description |
|---|---|
TSha512Digest | 64-bajtni SHA-512 sažetak |
TSha384Digest | 48-bajtni SHA-384 sažetak |
TSha512Context | Deljeni inkrementalni kontekst za SHA-512 i SHA-384 |
TSha512Context sa zastavicom Is384 koju postavlja Sha384InitSha..., što se razlikuje od imena SHA256... sa svim velikim slovima u FPdfSha256