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 implementeert de hashfuncties SHA-512 en SHA-384 over een gedeelde context met 64-bits woorden. De vlag Is384 in de context kiest de afgekorte SHA-384-variant wanneer deze via Sha384Init is geïnitialiseerd
De incrementele API spiegelt die van FPdfSha256: initialiseer een context, voer buffers in met Sha512Update en rond af naar een 64-byte SHA-512-digest of een 48-byte SHA-384-digest. Sha512Bytes en Sha384Bytes zijn one-shot-hulpfuncties over een byte-array
| Function | Description |
|---|---|
Sha512Init | Initialiseert een SHA-512-context |
Sha384Init | Initialiseert een SHA-384-context (zet de interne vlag Is384) |
Sha512Update | Voert een untyped buffer in een open SHA-512- of SHA-384-context in |
Sha512Final | Rondt een SHA-512-context af en geeft de 64-byte digest terug |
Sha384Final | Rondt een SHA-384-context af en geeft de 48-byte digest terug |
Sha512Bytes | One-shot SHA-512-hash van een byte-array |
Sha384Bytes | One-shot SHA-384-hash van een byte-array |
| Type | Description |
|---|---|
TSha512Digest | 64-byte SHA-512-digest |
TSha384Digest | 48-byte SHA-384-digest |
TSha512Context | Gedeelde incrementele context voor SHA-512 en SHA-384 |
TSha512Context met de vlag Is384 die door Sha384Init wordt gezetSha..., in tegenstelling tot de namen met alleen hoofdletters SHA256... in FPdfSha256