PDFium Component Docs

FPdfSha512 unit

Unit: FPdfSha512
Pure-Pascal SHA-512- en SHA-384-implementatie met één gedeeld contexttype, met incrementele init/update/final en one-shot-hulpfuncties voor byte-arrays

Syntax

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;

Description

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

Functions

FunctionDescription
Sha512InitInitialiseert een SHA-512-context
Sha384InitInitialiseert een SHA-384-context (zet de interne vlag Is384)
Sha512UpdateVoert een untyped buffer in een open SHA-512- of SHA-384-context in
Sha512FinalRondt een SHA-512-context af en geeft de 64-byte digest terug
Sha384FinalRondt een SHA-384-context af en geeft de 48-byte digest terug
Sha512BytesOne-shot SHA-512-hash van een byte-array
Sha384BytesOne-shot SHA-384-hash van een byte-array

Types

TypeDescription
TSha512Digest64-byte SHA-512-digest
TSha384Digest48-byte SHA-384-digest
TSha512ContextGedeelde incrementele context voor SHA-512 en SHA-384

Remarks

See Also

FPdfSha256