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;
A FPdfSha512 az SHA-512 és SHA-384 hash-függvényeket valósítja meg egy közös 64 bites szavas kontextuson. A kontextus Is384 flage választja ki a csonkított SHA-384 változatot, amikor Sha384Init útján inicializálják
A növekményes API az FPdfSha256-ot tükrözi: inicializáljon egy kontextust, etesse a puffereket a Sha512Update hívással, majd zárja le egy 64 bájtos SHA-512 vagy egy 48 bájtos SHA-384 kivonattá. A Sha512Bytes és a Sha384Bytes egy hívásos segédfüggvények egy bájttömbön
| Function | Description |
|---|---|
Sha512Init | Egy SHA-512 kontextust inicializál |
Sha384Init | Egy SHA-384 kontextust inicializál (beállítja a belső Is384 flaget) |
Sha512Update | Egy típus nélküli puffert etet egy nyitott SHA-512 vagy SHA-384 kontextusba |
Sha512Final | Lezár egy SHA-512 kontextust, és visszaadja a 64 bájtos kivonatot |
Sha384Final | Lezár egy SHA-384 kontextust, és visszaadja a 48 bájtos kivonatot |
Sha512Bytes | Egy bájttömb egy hívásos SHA-512 hash-e |
Sha384Bytes | Egy bájttömb egy hívásos SHA-384 hash-e |
| Type | Description |
|---|---|
TSha512Digest | 64 bájtos SHA-512 kivonat |
TSha384Digest | 48 bájtos SHA-384 kivonat |
TSha512Context | Közös növekményes kontextus az SHA-512 és SHA-384 számára |
TSha512Context típust a Sha384Init által beállított Is384 flaggelSha... formát használnak, eltérve az FPdfSha256 csupa nagybetűs SHA256... neveitől