PDFium Delphi Component Docs

FPdfSha512 модуль

Unit: 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