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 implementerer hashfunksjonene SHA-512 og SHA-384 over en delt kontekst basert på 64-bits ord. Flagget Is384 i konteksten velger den avkortede SHA-384-varianten når konteksten initialiseres gjennom Sha384Init
Den inkrementelle API-en speiler FPdfSha256: initialiser en kontekst, mat den med buffere via Sha512Update og avslutt til en 64-byte SHA-512-digest eller en 48-byte SHA-384-digest. Sha512Bytes og Sha384Bytes er one-shot-hjelpere over et byte-array
| Function | Description |
|---|---|
Sha512Init | Initialiserer en SHA-512-kontekst |
Sha384Init | Initialiserer en SHA-384-kontekst (setter det interne Is384-flagget) |
Sha512Update | Mater en utypet buffer inn i en åpen SHA-512- eller SHA-384-kontekst |
Sha512Final | Avslutter en SHA-512-kontekst og returnerer den 64 byte store digesten |
Sha384Final | Avslutter en SHA-384-kontekst og returnerer den 48 byte store digesten |
Sha512Bytes | One-shot SHA-512-hash av et byte-array |
Sha384Bytes | One-shot SHA-384-hash av et byte-array |
| Type | Description |
|---|---|
TSha512Digest | 64-byte SHA-512-digest |
TSha384Digest | 48-byte SHA-384-digest |
TSha512Context | Delt inkrementell kontekst for SHA-512 og SHA-384 |
TSha512Context med Is384-flagget satt av Sha384InitSha..., i motsetning til navnene med kun store bokstaver SHA256... i FPdfSha256