PDFium Delphi Component Docs

Модуль FPdfSha512

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

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

Инкрементальный API повторяет FPdfSha256: инициализируйте контекст, передавайте буферы через Sha512Update и завершайте получением 64-байтового дайджеста SHA-512 или 48-байтового дайджеста SHA-384. Sha512Bytes и Sha384Bytes — одноразовые помощники для байтового массива

Functions

FunctionDescription
Sha512InitИнициализирует контекст SHA-512
Sha384InitИнициализирует контекст SHA-384 (устанавливает внутренний флаг Is384)
Sha512UpdateПередаёт нетипизированный буфер в открытый контекст SHA-512 или SHA-384
Sha512FinalЗавершает контекст SHA-512 и возвращает 64-байтовый дайджест
Sha384FinalЗавершает контекст SHA-384 и возвращает 48-байтовый дайджест
Sha512BytesОдноразовый хеш SHA-512 для байтового массива
Sha384BytesОдноразовый хеш SHA-384 для байтового массива

Types

TypeDescription
TSha512Digest64-байтовый дайджест SHA-512
TSha384Digest48-байтовый дайджест SHA-384
TSha512ContextОбщий инкрементальный контекст для SHA-512 и SHA-384

Remarks

See Also

FPdfSha256