PDFium Delphi Component Docs

FPdfSha512 Unit

Unit: FPdfSha512
Reine-Pascal-SHA-512- und SHA-384-Implementierung mit gemeinsamem Kontexttyp, mit inkrementellem Init/Update/Final und Ein-Schritt-Byte-Array-Helfern

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;

Beschreibung

FPdfSha512 implementiert die SHA-512- und SHA-384-Hashfunktionen über einen gemeinsamen 64-Bit-Wort-Kontext. Das Is384-Flag im Kontext wählt die abgeschnittene SHA-384-Variante, wenn über Sha384Init initialisiert wird

Die inkrementelle API entspricht FPdfSha256: einen Kontext initialisieren, Puffer mit Sha512Update einspeisen und zu einem 64-Byte-SHA-512-Digest oder einem 48-Byte-SHA-384-Digest abschließen. Sha512Bytes und Sha384Bytes sind Ein-Schritt-Helfer über ein Byte-Array

Funktionen

FunktionBeschreibung
Sha512InitInitialisiert einen SHA-512-Kontext
Sha384InitInitialisiert einen SHA-384-Kontext (setzt das interne Is384-Flag)
Sha512UpdateSpeist einen untypisierten Puffer in einen offenen SHA-512- oder SHA-384-Kontext ein
Sha512FinalSchließt einen SHA-512-Kontext ab und liefert den 64-Byte-Digest
Sha384FinalSchließt einen SHA-384-Kontext ab und liefert den 48-Byte-Digest
Sha512BytesEin-Schritt-SHA-512-Hash eines Byte-Arrays
Sha384BytesEin-Schritt-SHA-384-Hash eines Byte-Arrays

Typen

TypBeschreibung
TSha512Digest64-Byte-SHA-512-Digest
TSha384Digest48-Byte-SHA-384-Digest
TSha512ContextGemeinsamer inkrementeller Kontext für SHA-512 und SHA-384

Hinweise

Siehe auch

FPdfSha256