PDFium Delphi Component Docs

модул FPdfSha512

Модул: FPdfSha512
Чисто-Pascal SHA-512 и SHA-384 реализация, споделяща един тип контекст, с инкрементален init/update/final и еднократни помощни функции за байтови масиви

Синтаксис

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 реализира хеш функциите SHA-512 и SHA-384 върху споделен контекст с 64-битови думи. Флагът Is384 в контекста избира скъсения вариант SHA-384, когато се инициализира чрез Sha384Init

Инкременталният API отразява FPdfSha256: инициализирайте контекст, подавайте буфери с Sha512Update и финализирайте до 64-байтов SHA-512 digest или 48-байтов SHA-384 digest. Sha512Bytes и Sha384Bytes са еднократни помощни функции върху байтов масив

Функции

FunctionОписание
Sha512InitInitializes a SHA-512 context
Sha384InitInitializes a SHA-384 context (sets the internal Is384 flag)
Sha512UpdateFeeds an untyped buffer into an open SHA-512 or SHA-384 context
Sha512FinalFinalizes a SHA-512 context and returns the 64-byte digest
Sha384FinalFinalizes a SHA-384 context and returns the 48-byte digest
Sha512BytesOne-shot SHA-512 hash of a byte array
Sha384BytesOne-shot SHA-384 hash of a byte array

Типове

ТипОписание
TSha512Digest64-byte SHA-512 digest
TSha384Digest48-byte SHA-384 digest
TSha512ContextShared incremental context for SHA-512 and SHA-384

Забележки

Виж също

FPdfSha256