PDFium Delphi Component Docs

FPdfSha512 واحد

واحد: FPdfSha512
پیاده‌سازی خالص Pascal برای SHA-512 و SHA-384 با یک نوع زمینهٔ مشترک، به‌همراه 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 را بر روی یک زمینهٔ مشترک با واژه‌های ۶۴ بیتی پیاده‌سازی می‌کند. پرچم Is384 در زمینه، هنگام مقداردهی اولیه از طریق Sha384Init، نوع کوتاه‌شدهٔ SHA-384 را انتخاب می‌کند

API افزایشی منعکس‌کنندهٔ FPdfSha256 است: یک زمینه را مقداردهی اولیه کنید، بافرها را با Sha512Update تغذیه کنید و به یک خلاصهٔ ۶۴ بایتی SHA-512 یا یک خلاصهٔ ۴۸ بایتی SHA-384 نهایی‌سازی کنید. Sha512Bytes و Sha384Bytes کمکی‌های یک‌باره روی یک آرایهٔ بایتی هستند

Functions

FunctionDescription
Sha512Initیک زمینهٔ SHA-512 را مقداردهی اولیه می‌کند
Sha384Initیک زمینهٔ SHA-384 را مقداردهی اولیه می‌کند (پرچم داخلی Is384 را تنظیم می‌کند)
Sha512Updateیک بافر بدون نوع را به یک زمینهٔ باز SHA-512 یا SHA-384 تغذیه می‌کند
Sha512Finalیک زمینهٔ SHA-512 را نهایی‌سازی و خلاصهٔ ۶۴ بایتی را برمی‌گرداند
Sha384Finalیک زمینهٔ SHA-384 را نهایی‌سازی و خلاصهٔ ۴۸ بایتی را برمی‌گرداند
Sha512Bytesدرهم‌سازی یک‌بارهٔ SHA-512 یک آرایهٔ بایتی
Sha384Bytesدرهم‌سازی یک‌بارهٔ SHA-384 یک آرایهٔ بایتی

Types

TypeDescription
TSha512Digestخلاصهٔ ۶۴ بایتی SHA-512
TSha384Digestخلاصهٔ ۴۸ بایتی SHA-384
TSha512Contextزمینهٔ افزایشی مشترک برای SHA-512 و SHA-384

Remarks

See Also

FPdfSha256