PDFium Delphi Component Docs

FPdfSha512-enhet

Unit: FPdfSha512
Implementering av SHA-512 och SHA-384 i ren Pascal med en gemensam kontexttyp, med inkrementell init/update/final och hjälpfunktioner i ett steg för bytearrayer

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 implementerar hashfunktionerna SHA-512 och SHA-384 över en delad kontext med 64-bitars ord; flaggan Is384 i kontexten väljer den trunkerade SHA-384-varianten när den initieras via Sha384Init

Det inkrementella API:et speglar FPdfSha256: initiera en kontext, mata in buffertar med Sha512Update och slutför till en 64 byte stor SHA-512-digest eller en 48 byte stor SHA-384-digest; Sha512Bytes och Sha384Bytes är hjälpfunktioner i ett steg över en bytearray

Functions

FunctionDescription
Sha512InitInitierar en SHA-512-kontext
Sha384InitInitierar en SHA-384-kontext (sätter den interna flaggan Is384)
Sha512UpdateMatar en otypad buffer in i en öppen SHA-512- eller SHA-384-kontext
Sha512FinalSlutför en SHA-512-kontext och returnerar den 64 byte stora digesten
Sha384FinalSlutför en SHA-384-kontext och returnerar den 48 byte stora digesten
Sha512BytesSHA-512-hash i ett steg av en bytearray
Sha384BytesSHA-384-hash i ett steg av en bytearray

Types

TypeDescription
TSha512Digest64 byte stor SHA-512-digest
TSha384Digest48 byte stor SHA-384-digest
TSha512ContextDelad inkrementell kontext för SHA-512 och SHA-384

Remarks

See Also

FPdfSha256